FOK!forum / Digital Corner / [PHP/(My)SQL] voor dummies #95
Dizermaandag 24 oktober 2011 @ 11:52
php.jpg


Als je vragen hebt over PHP/MySQL, dan zit je hier goed met een vaste kliek guru's en een groot aantal regelmatige bezoekers. Beperk je vragen niet tot "hij doet het niet" of "hij geeft een fout" - onze glazen bol is kapot en we willen graag van je weten wát er niet lukt en wélke foutmelding je precies krijgt :)

Zie ook:
PHP Dataverwerking
Officiële PHP website
PHP Documentatie
MySQL Reference Manual
Yet Another PHP Faq
PHP Cheat Sheet
PHP5 Power Programming - boek met uitleg over OOP, Pear, XML, etc

Tutorials:
W3Schools PHP
W3Schools SQL
Dizermaandag 24 oktober 2011 @ 11:53
Hehe was LaPo.. dus hierbij mijn vraag nog een keer :)

Hoi ik heb een vraagje, kan iemand mij helpen met het plaatsen van deze code in php?

1
2
3
4
5
6
7
<script language="javascript" type="text/javascript">
 function resizeIframe(obj)
 {
   obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
   obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';
 }
</script>

Alvast bedankt!
KomtTijd...maandag 24 oktober 2011 @ 11:57
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
Dizermaandag 24 oktober 2011 @ 11:59
quote:
0s.gif Op maandag 24 oktober 2011 11:57 schreef KomtTijd... het volgende:
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Scorpiemaandag 24 oktober 2011 @ 12:07
quote:
7s.gif Op maandag 24 oktober 2011 11:59 schreef Dizer het volgende:

[..]

Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Niet. Dat moet je met CSS, Javascript en HTML doen.
Tijnmaandag 24 oktober 2011 @ 12:07
quote:
7s.gif Op maandag 24 oktober 2011 11:59 schreef Dizer het volgende:

[..]

Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Dat is ook iets voor de client. PHP gaat alleen over de server.
KomtTijd...maandag 24 oktober 2011 @ 12:11
quote:
7s.gif Op maandag 24 oktober 2011 11:59 schreef Dizer het volgende:

[..]

Ok dan stel ik de vraag anders, hoe kan ik in php ervoor zorgen dat iframes automatische hoogtes krijgen zonder te scrollen. Dus alleen een scrollbar van de site zelf? En dus niet dubbel.. zowel de iframe als de website...
Ik denk dat je je moet gaan afvragen waarom je met uberhaupt iframes wilt werken...
_GdR_maandag 24 oktober 2011 @ 12:12
quote:
0s.gif Op maandag 24 oktober 2011 11:57 schreef KomtTijd... het volgende:
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
ach help die knul gewoon ff man.

1
2
3
4
5
6
7
$javascript = "<script language='javascript' type='text/javascript'>";
$javascript .= "function resizeIframe(obj) {";
$javascript .= "obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';";
$javascript .= "obj.style.width = obj.contentWindow.document.body.scrollWidth + 'px';";
$javascript .= "} </script>";

print $javascript;
baaartmaandag 24 oktober 2011 @ 12:52
quote:
0s.gif Op maandag 24 oktober 2011 12:12 schreef _GdR_ het volgende:

[..]

ach help die knul gewoon ff man.
[ code verwijderd ]

_O-
YazooWmaandag 24 oktober 2011 @ 17:36
Sorry dat ik jullie hier weer moet lastig vallen maar mijn scriptje heeft mij nu alweer enkele uren hoofdpijn bezorgd en ik kom er maar niet uit... 1 script haalt alle urls op, 2e script moet uitgevoerd worden op alle urls die ik uit mijn eerste script haal.

haalt url's op
1
2
3
4
5
6
<?php
$html 
file_get_html($url);
 
foreach(
$html->find('table#speler td[class="naam"] a[href]') as $all)
    echo 
$all->getAttribute('href') . '<br>';
?>

haalt info speler op
1
2
3
4
5
6
<?php
$html 
file_get_html($url);

foreach(
$html->find('dd') as $all)
    echo 
$all->innertext '<br>';
?>

Ik weet (denk ik) hoe ik het kan oplossen, ik schiet alleen totaal niet op in de uitvoering omdat ik vrij onbekend ben met php.
Output van het eerste script is een lijst met Url's, die moeten opslagen worden in een array. Vervolgens moet ik op de 1 of andere manier in het tweede script de file_get_html vullen met die array.
Luchtkokermaandag 24 oktober 2011 @ 17:41
In een session opslaan. of gewoon in één script gooien.
The_Terminatormaandag 24 oktober 2011 @ 17:42
quote:
0s.gif Op maandag 24 oktober 2011 17:36 schreef YazooW het volgende:
Sorry dat ik jullie hier weer moet lastig vallen maar mijn scriptje heeft mij nu alweer enkele uren hoofdpijn bezorgd en ik kom er maar niet uit... 1 script haalt alle urls op, 2e script moet uitgevoerd worden op alle urls die ik uit mijn eerste script haal.

haalt url's op
[ code verwijderd ]

haalt info speler op
[ code verwijderd ]

Ik weet (denk ik) hoe ik het kan oplossen, ik schiet alleen totaal niet op in de uitvoering omdat ik vrij onbekend ben met php.
Output van het eerste script is een lijst met Url's, die moeten opslagen worden in een array. Vervolgens moet ik op de 1 of andere manier in het tweede script de file_get_html vullen met die array.
Enkel script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$url_array 
= array();

$html file_get_html($url);
 
foreach(
$html->find('table#speler td[class="naam"] a[href]') as $all) {
    
$url_array[] = $all->getAttribute('href');
}

foreach(
$url_array as $get_url) {
    
$html file_get_html$get_url);

    foreach(
$html->find('dd') as $all) {
        echo 
$all->innertext '<br>';
    }
}

?>

Twee losse scripts:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

session_start
();

$url_array = array();

$html file_get_html($url);
 
foreach(
$html->find('table#speler td[class="naam"] a[href]') as $all) {
    
$url_array[] = $all->getAttribute('href');
}

$_SESSION['url_array'] = $url_array;

?>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

session_start
();

$url_array $_SESSION['url_array'];

foreach(
$url_array as $get_url) {
    
$html file_get_html($get_url);

    foreach(
$html->find('dd') as $all) {
        echo 
$all->innertext '<br>';
    }
}

?>


[ Bericht 64% gewijzigd door The_Terminator op 24-10-2011 17:50:39 ]
YazooWmaandag 24 oktober 2011 @ 18:30
Na er een kwartier lang over gedaan te hebben om erachter te komen dat de DOM niet included was in het bovenstaande voorbeeld van The_Terminator heb ik hem dus eindelijk werkend gekregen nu 8)7 Krijg nu precies de data die ik nodig heb, hartelijk bedankt hiervoor!

Nu kom ik bij het verhaal dat alles naar mijn database geschreven moet worden, en ga ik jullie ook mijn allerlaatste vraag stellen voordat ik jullie met rust laat :P

1
2
3
4
<?php
foreach($html->find('dd') as $all) {
        echo 
$all->innertext '<br>';
?>
Bovenstaande stukje code geeft mij deze output:
quote:
Daniel
Sturridge
England
1 September 1989
22
England
Birmingham
Attacker
188 cm
76 kg
Nu wil ik dus elk van die regels gaan opslaan in een eigen variabele, waarna ik vervolgens die variabelen op kan nemen in mijn sql query. Dus ik wil een variable $voornaam, $achternaam, $land, $geboordedatum, etc etc, toekennen aan de juiste regel, hoe ga ik dit doen?
Lightmaandag 24 oktober 2011 @ 18:31
quote:
0s.gif Op maandag 24 oktober 2011 08:51 schreef Pakspul het volgende:

[..]
[ code verwijderd ]

Niet in één preg_replace, maar ik denk dat je de oplossing niet verkeerd zal vinden.
En als ik [faq=123][b]Test[/b][/faq] probeer, gaat dat dan ook goed?

Zo wordt [url=http://www.google.com]G[b]oo[/b]gle[/url] ook gewoon Google :)
#ANONIEMmaandag 24 oktober 2011 @ 20:23
quote:
0s.gif Op maandag 24 oktober 2011 18:30 schreef YazooW het volgende:
Na er een kwartier lang over gedaan te hebben om erachter te komen dat de DOM niet included was in het bovenstaande voorbeeld van The_Terminator heb ik hem dus eindelijk werkend gekregen nu 8)7 Krijg nu precies de data die ik nodig heb, hartelijk bedankt hiervoor!

Nu kom ik bij het verhaal dat alles naar mijn database geschreven moet worden, en ga ik jullie ook mijn allerlaatste vraag stellen voordat ik jullie met rust laat :P
[ code verwijderd ]

Bovenstaande stukje code geeft mij deze output:

[..]

Nu wil ik dus elk van die regels gaan opslaan in een eigen variabele, waarna ik vervolgens die variabelen op kan nemen in mijn sql query. Dus ik wil een variable $voornaam, $achternaam, $land, $geboordedatum, etc etc, toekennen aan de juiste regel, hoe ga ik dit doen?
wat je kunt doen is een array definieren, dan natuurlijk wel in de volgorde die je krijgt uit je script.

1
2
3
4
5
6
7
8
9
10
<?php
$array = array('name', 'surname','city', 'etc');
$output = array();

foreach($html->find('dd') as $all) {
        $output[] = $all->innertext;
}

array_merge($array, $output);
?>

iets in deze trant dus.
Chandlermaandag 24 oktober 2011 @ 23:00
quote:
0s.gif Op maandag 24 oktober 2011 08:36 schreef Intrepidity het volgende:

[..]

Waarschijnlijk omdat zijn properties variabel zijn. Hoe wil je dit formuleren in 1 tabel?
Het ruikt hier overigens naar NoSQL, maar ik neem gemakshalve maar even aan dat dat geen optie is.
Hier zat ik zelf ook mee, ik heb een bepaalde tabel voor bv vangsten (van visjes ja) en daaraan wil ik best veel gegevens kunnen koppelen dan kan ik daarvoor het zelfde tabel gebruiken en die steeds aanpassen qua structuur door het toevoegen van velden maar nog gemakkelijker is een extra tabel om al deze 'opties' te kunnen koppelen.

Leuk stukje discussie :)
YazooWdinsdag 25 oktober 2011 @ 00:45
quote:
0s.gif Op maandag 24 oktober 2011 20:23 schreef totalvamp het volgende:

[..]

wat je kunt doen is een array definieren, dan natuurlijk wel in de volgorde die je krijgt uit je script.
[ code verwijderd ]

iets in deze trant dus.
Ik sla nu mijn data op in een array, vervolgens stuur ik het naar de database, en dan leeg ik de array zodat hij weer opnieuw gevuld kan worden.

Ik krijg nu een een foutmelding ( unexpected T_VARIABLE ) op deze regel:
1
2
3
<?php
mysql_query
("INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES ("$info_array[0]", "$info_array[1]", "$info_array[2]", "$info_array[3]", "$info_array[4]", "$info_array[5]", "$info_array[6]", "$info_array[7]", "$info_array[8]", "$info_array[9]")" ;
?>

1
2
3
4
5
6
<?php
print_r $info_array
[0];
print_r $info_array[1];
print_r $info_array[2];
etc etc
?>
Als ik in plaats van het te versturen, de arrays uitlees met print_r (zie code hierboven), dan kloppen de waardes wel gewoon wat dus betekent dat er geen fout zit in mijn array. Wat doe ik fout?
KomtTijd...dinsdag 25 oktober 2011 @ 00:52
Wat dacht je ervan om koppeltekens tussen je strings te gebruiken?

Of, aangezien je dubbele quotes gebruikt, gewoon de variables in de sting zetten zonder 'm iedere keer te sluiten (dus de quotes voor en na de variables gewoon weg te laten)
YazooWdinsdag 25 oktober 2011 @ 01:00
quote:
14s.gif Op dinsdag 25 oktober 2011 00:52 schreef KomtTijd... het volgende:
Wat dacht je ervan om koppeltekens tussen je strings te gebruiken?

Of, aangezien je dubbele quotes gebruikt, gewoon de variables in de sting zetten zonder 'm iedere keer te sluiten (dus de quotes voor en na de variables gewoon weg te laten)
Dus je bedoelt die dubbele quotes weghalen? Dat werkt namelijk ook niet.
KomtTijd...dinsdag 25 oktober 2011 @ 01:03
Weird, it should.
Maar ik zou sowieso gewoon enkele qoutes gebruiken en een punt ertussen zetten, vind ik persoonlijk (meestal) overzichtelijker.
themoledinsdag 25 oktober 2011 @ 01:06
quote:
0s.gif Op dinsdag 25 oktober 2011 01:00 schreef YazooW het volgende:

[..]

Dus je bedoelt die dubbele quotes weghalen? Dat werkt namelijk ook niet.
Dan kan je zo koppelen
1
2
3
4
5
6
7
8
<?php
//Manier 1: Concateneren(koppelen) van strings via .
$string1 "abc";
$string2 "def";
$string3 $string1." ".$string2." Hello World";
//$string3 = "abc def Hello World";
?>

Andere optie zou zijn:
1
2
3
4
5
6
7
8
<?php
//Manier 2: Concateneren(koppelen) van strings via andere manier
$string1 "abc";
$string2 "def";
$string3 "$string1 $string2 Hello World";
//$string3 = "abc def Hello World";
?>
Lightdinsdag 25 oktober 2011 @ 07:14
quote:
2s.gif Op dinsdag 25 oktober 2011 01:03 schreef KomtTijd... het volgende:
Weird, it should.
Maar ik zou sowieso gewoon enkele qoutes gebruiken en een punt ertussen zetten, vind ik persoonlijk (meestal) overzichtelijker.
Ik zou, indien mogelijk, PDO gebruiken. :)
baaartdinsdag 25 oktober 2011 @ 11:02
quote:
0s.gif Op dinsdag 25 oktober 2011 07:14 schreef Light het volgende:

[..]

Ik zou, indien mogelijk, PDO gebruiken. :)
Wat heeft dat te maken met dat hij niet weet hoe een string op te bouwen :') ... en sowieso PDO voor mysql, nah.
baaartdinsdag 25 oktober 2011 @ 11:05
quote:
0s.gif Op dinsdag 25 oktober 2011 00:45 schreef YazooW het volgende:

[..]

Ik sla nu mijn data op in een array, vervolgens stuur ik het naar de database, en dan leeg ik de array zodat hij weer opnieuw gevuld kan worden.

Ik krijg nu een een foutmelding ( unexpected T_VARIABLE ) op deze regel:
[ code verwijderd ]

[ code verwijderd ]

Als ik in plaats van het te versturen, de arrays uitlees met print_r (zie code hierboven), dan kloppen de waardes wel gewoon wat dus betekent dat er geen fout zit in mijn array. Wat doe ik fout?
Als je array uit niet meer dan die waardes bestaat (en in de juiste volgorde) kan je ook implode gebruiken.

1
2
3
<?php
mysql_query
("INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES (".implode(',',$info_array).")" ;
?>
Catbertdinsdag 25 oktober 2011 @ 11:14
quote:
0s.gif Op dinsdag 25 oktober 2011 11:02 schreef baaart het volgende:
Wat heeft dat te maken met dat hij niet weet hoe een string op te bouwen :') ... en sowieso PDO voor mysql, nah.
Hoezo "Nah"?
YazooWdinsdag 25 oktober 2011 @ 15:50
Gisteren mezelf een paar uur kapot zitten ergeren dat het maar niet lukte, nu ben ik weer helemaal fris en ik kan er weer tegenaan 8-) Helaas pindakaas kom ik er nog steeds niet uit. Ik heb nu geleerd hoe je array's maakt, hoe je array's kan laten zien, hoe je alleen bepaalde items uit een array kan laten zien, hoe je een bepaald item uit een array kan opslaan in een variabele. Ik loop nu dus alleen vast op het gedeelte waar ik het wil gaan versturen naar de database.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
    
// urls ophalen en in array plaatsen

// url's plaatsen in de file_get_html
    
foreach($url_array as $get_url) {
    
$html file_get_html$get_url);
  

        
// data ophalen en in array zetten
        
foreach($html->find('dd') as $output) {
            
$info_array[] = $output->innertext;       
             
        }
         
         
// arrayitems koppelen aan een variabele
         
$voornaam $info_array[0];
         
$achternaam  $info_array[1];
         
$land $info_array[2];
         
$geboortedatum $info_array[3];
         
$leeftijd $info_array[4];
         
$land2 $info_array[5];
         
$geboorteplaats $info_array[6];
         
$positie $info_array[7];
         
$lengte $info_array[8];
         
$gewicht $info_array[9];
         
         
// variabelen printen om te checken of data goed is doorgekomen
         
print_r ($voornaam);
         
print_r ($achternaam);
         
print_r ($land);
         
print_r ($geboortedatum);
         
print_r ($leeftijd);
         
print_r ($land2);
         
print_r ($geboorteplaats);
         
print_r ($positie);
         
print_r ($lengte);
         
print_r ($gewicht);       
         
        
        
// databaseverbinding en query verzenden naar tabel
        // $query ff in een commentline gezet omdat het toch niet werkt...
       
        
$con mysql_connect("localhost","root","") or die("Geen verbinding met mysql");;
        
$selected mysql_select_db("vbal") or die("Geen verbinding met database");
        
// $query = "INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES (".implode(',',$info_array).")" ;
        // $query = "INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES ('$voornaam', '$achternaam', '$and', '$geboortedatum', '$leeftijd', '$land2', '$geboorteplaats', '$positie', '$lengte', '$gewicht')" ;
        
mysql_query($query);
         
         
//alles leeg maken zodat het weer gebruikt kan worden voor de volgende url
         
unset($info_array);
         
         unset(
$voornaam);
         unset(
$achternaam);
         unset(
$land);
         unset(
$geboortedatum);
         unset(
$leeftijd);
         unset(
$land2);
         unset(
$geboorteplaats);
         unset(
$positie);
         unset(
$lengte);
         unset(
$gewicht);
        
    }
    
// mysql_close();
?>

In principe werkt dit script zo, ik extract van een pagina bepaalde url's, die vervolgens worden opgeslagen in een array. (niet in de code hierboven te zien). Vervolgens gebruik ik deze urls om 1 voor 1 de code hierboven op los te laten. Ik kan alles heel makkelijk outputten op mijn scherm, de data die outgeput wordt klopt ook gewoon. Probleem waar ik nu dus mee zit is dat ik het niet geschreven krijg naar mijn database.
baaartdinsdag 25 oktober 2011 @ 15:53
Geef de print_r eens van je array. Een print_r doe je niet op 1 variabele, die kan je gewoon met print of echo neerzetten. Dus, print_r($info_array).

Heb je overigens wel mijn optie geprobeerd om je query op te bouwen?

/Edit; print ook je $query eens voordat je 'm uitvoert.

/Edit2; doe dit eens, dan zie je tenminste ook de sql fout:

1
2
3
4
5
<?php

mysql_query
($query) or die(mysql_error() . ' Error nr:' mysql_errno());

?>
Catbertdinsdag 25 oktober 2011 @ 15:59
Print de query en de errormessage eens. Je geeft gewoon niet aan wat er misgaat en niemand hier heeft een glazen bol.

(en mensen raken geirriteerd door dit soort vragen)
Crutchdinsdag 25 oktober 2011 @ 16:01
quote:
0s.gif Op dinsdag 25 oktober 2011 15:59 schreef Catbert het volgende:
Print de query en de errormessage eens. Je geeft gewoon niet aan wat er misgaat en niemand hier heeft een glazen bol.

(en mensen raken geirriteerd door dit soort vragen)
Hij weet niet wat er misgaat blijkbaar. Voorgaande tip is een goede tip om in het vervolg je fouten te controleren.

Overigens weet ik bijna zeker dat er iets niet deugt in je SQL_query.
YazooWdinsdag 25 oktober 2011 @ 16:03
print_r van de array waar ik de spelersinfo in opsla, voorbeeld van 1 speler:
quote:
Array ( [0] => Ross [1] => Turnbull [2] => England [3] => 4 January 1985 [4] => 26 [5] => England [6] => Bishop Auckland [7] => Goalkeeper [8] => 193 cm [9] => 85 kg )
ik heb ff die query met die implode uit de commenttags gehaald en daar de print_r op los gelaten:
quote:
INSERT INTO spelers (voornaam, achternaam, land, geboortedatum, leeftijd, land2, geboorteplaats, positie, lengte, gewicht) VALUES (Ross,Turnbull,England,4 January 1985,26,England,Bishop Auckland,Goalkeeper,193 cm,85 kg)
quote:
0s.gif Op dinsdag 25 oktober 2011 15:59 schreef Catbert het volgende:
Print de query en de errormessage eens. Je geeft gewoon niet aan wat er misgaat en niemand hier heeft een glazen bol.

(en mensen raken geirriteerd door dit soort vragen)
Kan ik begrijpen, ben ik misschien niet helemaal duidelijk over geweest. Er komt dus geen fout, het script runt, en als hij klaar is kijk ik in mijn phpmyadmin en zie ik dat er niks is gebeurd. Heb ook al in het script ipv die variabelen bij de VALUES gewoon een handmatige invoer geprobeerd, wat wel gewoon werkte.
Crutchdinsdag 25 oktober 2011 @ 16:03
moeten je values niet tussen ''-jes staan?
Crutchdinsdag 25 oktober 2011 @ 16:04
en je table rows tussen ``?
YazooWdinsdag 25 oktober 2011 @ 16:04
quote:
0s.gif Op dinsdag 25 oktober 2011 16:03 schreef Crutch het volgende:
moeten je values niet tussen ''-jes staan?
Daar zat ik zelf dus ook al meteen aan te denken toen ik het hier ging posten 8)7
Ga het eens even uitproberen.


quote:
0s.gif Op dinsdag 25 oktober 2011 16:04 schreef Crutch het volgende:
en je table rows tussen ``?
Dat is toch niet perse nodig?
YazooWdinsdag 25 oktober 2011 @ 16:07
1
2
3
<?php
VALUES 
(".implode(',',$info_array).")" ;
?>
Hoe kan ik er hier nou voor zorgen dat alle values die uit $info_array worden gehaald tussen haakjes wordt gezet?

edit. zie het denk ik al.
Crutchdinsdag 25 oktober 2011 @ 16:07
quote:
0s.gif Op dinsdag 25 oktober 2011 16:04 schreef YazooW het volgende:
Dat is toch niet perse nodig?
Dat weet ik niet zeker.
baaartdinsdag 25 oktober 2011 @ 16:07
quote:
0s.gif Op dinsdag 25 oktober 2011 16:04 schreef YazooW het volgende:

[..]

Daar zat ik zelf dus ook al meteen aan te denken toen ik het hier ging posten 8)7
Ga het eens even uitproberen.

[..]

Dat is toch niet perse nodig?
Niet perse nodig inderdaad (wel netjes !!). Vervang de implode met hetvolgende om alles tussen enkele quotes te krijgen:

1
2
3
<?php
$query 
"'" implode('\',\''$array) . "'";
?>

Nogmaals, c/p ready: http://pastebin.com/subhrX3J
YazooWdinsdag 25 oktober 2011 @ 16:13
Je pastebin oplossing gebruikt, returnt: unexpected T_CONSTANT_ENCAPSED_STRING
YazooWdinsdag 25 oktober 2011 @ 16:16
In ieder geval wil ik iedereen bedanken hier die mij geholpen heeft bij mij scriptje! :)
Laatste probleempje is nu dus dat query niet goed wordt uitgeput, maar het moet niet een al te groot probleem zijn om dat op te lossen.
Ga er vanavond verder kijken, moet nu gaan werken helaas...
baaartdinsdag 25 oktober 2011 @ 16:16
quote:
0s.gif Op dinsdag 25 oktober 2011 16:13 schreef YazooW het volgende:
Je pastebin oplossing gebruikt, returnt: unexpected T_CONSTANT_ENCAPSED_STRING
Excuus, ze stonden 1tje te ver naar buiten :')

http://pastebin.com/si9QEmsP
Crutchdinsdag 25 oktober 2011 @ 16:17
nvm
YazooWdinsdag 25 oktober 2011 @ 16:18
quote:
0s.gif Op dinsdag 25 oktober 2011 16:16 schreef baaart het volgende:

[..]

Excuus, ze stonden 1tje te ver naar buiten :')

http://pastebin.com/si9QEmsP
Return nog steeds een foute query:
quote:
VALUES ('".implode(\'',\'',)."')Array ( [0] => Ross [1] => Turnbull [2] => England [3] => 4 January 1985 [4] => 26 [5] => England [6] => Bishop Auckland [7] => Goalkeeper [8] => 193 cm [9] => 85 kg )
Ik heb er nu helaas geen tijd meer voor, werk wacht. Ik ga vanavond weer verder.
Nogmaals bedankt iedereen!

edit. nu copy ik de print_r op de oplossing van Crutch, die ook weggeedit is nu.
oplossing van baaart gaf hetzelfde op het gedeelte van ('".implode(\'',\'',)."') achter VALUES na.
baaartdinsdag 25 oktober 2011 @ 16:21
quote:
0s.gif Op dinsdag 25 oktober 2011 16:18 schreef YazooW het volgende:

[..]

Return nog steeds een foute query:

[..]

Ik heb er nu helaas geen tijd meer voor, werk wacht. Ik ga vanavond weer verder.
Nogmaals bedankt iedereen!

edit. nu copy ik de print_r op de oplossing van Crutch, die ook weggeedit is nu.
oplossing van baaart gaf hetzelfde op het gedeelte van ('".implode(\'',\'',)."') achter VALUES na.
Huh? M'n laatste werkt gewoon. Print je query nog eens inclusief de error en error nummer.
Luchtkokerdinsdag 25 oktober 2011 @ 16:37
`` is niet per se nodig bij tabel namen, kolomnamen, etc, maar string quotes zijn wel zeker nodig.
GlowMousedinsdag 25 oktober 2011 @ 16:49
quote:
2s.gif Op dinsdag 25 oktober 2011 16:37 schreef Luchtkoker het volgende:
`` is niet per se nodig bij tabel namen, kolomnamen, etc, maar string quotes zijn wel zeker nodig.
je verwart ` met '.
Faux.dinsdag 25 oktober 2011 @ 17:57
Hoe kan ik ervoor zorgen dat elke drie secondes er een stuk code wordt uitgevoerd nadat ik het PHP-script heb opgeroepen in de CLI? :)
Tijndinsdag 25 oktober 2011 @ 18:06
1
2
3
4
5
6
7
8
9
<?php
while(true)
{
  if(
time() % == 0)
  {
    
// doe hier elke 3 seconden iets
  
}
}
?>
Faux.dinsdag 25 oktober 2011 @ 18:08
quote:
5s.gif Op dinsdag 25 oktober 2011 18:06 schreef Tijn het volgende:

[ code verwijderd ]

Mijn dank is groot :)
Lightdinsdag 25 oktober 2011 @ 18:32
quote:
0s.gif Op dinsdag 25 oktober 2011 11:02 schreef baaart het volgende:

[..]

Wat heeft dat te maken met dat hij niet weet hoe een string op te bouwen :') ... en sowieso PDO voor mysql, nah.
Als je PDO gebruikt, hoef je veel minder moeite te doen bij het maken van de querystring. Je hoeft parameters dan niet te escapen, dat wordt voor je gedaan :)
GlowMousedinsdag 25 oktober 2011 @ 18:42
quote:
5s.gif Op dinsdag 25 oktober 2011 18:06 schreef Tijn het volgende:

[ code verwijderd ]

dat werkt niet, draai maar met echo 'hoi'; op regel 3.
GlowMousedinsdag 25 oktober 2011 @ 18:46
1
2
3
4
5
6
7
8
9
10
11
12
<?php

while(true) {
    
$starttime microtime(true);

    
// doe hier elke 3 seconden iets, wat minder dan 3 seconden duurt
    
echo time();

    
usleep3e6 - (microtime(true) - $starttime) );
}

?>
#ANONIEMdinsdag 25 oktober 2011 @ 19:09
quote:
0s.gif Op dinsdag 25 oktober 2011 16:04 schreef Crutch het volgende:
en je table rows tussen ``?
lolwut?

dat is de phpmyadmin methode die slecht is. De reden dat mensen dat gebruiken is omdat ze ongeldige rownamen gebruiken. Bijvoorbeeld als order, bij een menu ofzo. Dat zijn gereserveerde woorden die je niet moet gebruiken iin je DB.

`` weglaten dus bij dat.
'' zijn wel weer belangrijk bij het invoeren van data.
Het probleem met jre script is dat je dingen moet gaan escapen. Mijn vriendin haar achternaam is d'Anjou als je dat invoert crasht je script op het moment.
Variabelen kun je escapen doormiddel van mysql_real_escape_string() of met PDO(wat een goede tip was trouwens).

hier even een VB hoe het met een implode zou kunnen die hierboven nog niet werkt:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php

$query = 'INSERT INTO table (row1, row2,row3,row4,etc) VALUES ("'. implode('",""', $infoarray).'")';

echo $query;

// dit zou dus een goede query terug moeten geven als je zeker weet dat de data geldig is.


// mijn functie (lichtelijk aangepast aangezien deze in mijn script is geintegreerd)
// $data moet er als volgt uit zien
// array('naam' => 'naamhier', 'achternaam' => 'blabla', 'etc' => 'jesnaptmijnpunt')  
function insert($table, $data = array()) {
             if(count($data) > 0) {
                $sql = 'INSERT INTO '.$table.' ';
                foreach($data as $key => $value) {
                    $keys .= ' '.$key.',';
                    $values .= ' "'.mysql_real_escape_string($value).'",';    
                }
                $keys = substr($keys, 0, -1);
                $values = substr($values, 0, -1);
                
                $sql .= '('.$keys.') VALUES ('.$values.')';
                
                $result = mysql_query($sql);
                if(mysql_affected_rows($result) > 0) {
                    return true;
                } else {
                    echo mysql_error();
                    return false;
                }
                
            }


[ Bericht 43% gewijzigd door #ANONIEM op 25-10-2011 19:19:59 ]
GlowMousedinsdag 25 oktober 2011 @ 19:10
Als je de keuze hebt, gebruik PDO.
GlowMousedinsdag 25 oktober 2011 @ 19:23
Je moet nu nog opletten waar de keys vandaan komen.
Een oplossing met array_map, implode, array_keys en array_values kan de leesbaarheid vergroten, evenals verplaatsen van regel 15 naar regel 22.
#ANONIEMdinsdag 25 oktober 2011 @ 19:25
quote:
0s.gif Op dinsdag 25 oktober 2011 19:23 schreef GlowMouse het volgende:
Je moet nu nog opletten waar de keys vandaan komen.
Een oplossing met array_map, implode, array_keys en array_values kan de leesbaarheid vergroten, evenals verplaatsen van regel 15 naar regel 22.
dat zeker ja. Dit is ook mijn functie en ik weet 100% zeker dat mijn input goed is. Dit omdat ik een model heb van elke tabel met daarin aangegeven wat de primary key is en welke rows aagepast mogen worden door het script.

Het was ook als voorbeeld aangezien ik geen PDO gebruik (eigen database class). Hoe je het ook wendt of keert hij zal toch iets moeten doen qua beveiliging.
Tijndinsdag 25 oktober 2011 @ 19:57
quote:
7s.gif Op dinsdag 25 oktober 2011 18:42 schreef GlowMouse het volgende:

[..]

dat werkt niet, draai maar met echo 'hoi'; op regel 3.
Ah, inderdaad. Hij doet iets meer cycles dan 1 per seconde natuurlijk :')

Even 3 seconden sleepen lijkt me dan idd ook de beste oplossing. Of anders helemaal geen loop in je script en het gewoon elke 3 seconden aanroepen via een cronjob ofzo.
GlowMousedinsdag 25 oktober 2011 @ 19:57
quote:
14s.gif Op dinsdag 25 oktober 2011 19:57 schreef Tijn het volgende:

[..]

Ah, inderdaad. Hij doet iets meer cycles dan 1 per seconde natuurlijk :')

Even 3 seconden sleepen lijkt me dan idd ook de beste oplossing. Of anders helemaal geen loop in je script en het gewoon elke 3 seconden aanroepen via een cronjob ofzo.
Cronjobs werken op hele minuten.
YazooWdinsdag 25 oktober 2011 @ 20:53
quote:
0s.gif Op dinsdag 25 oktober 2011 16:21 schreef baaart het volgende:

[..]

Huh? M'n laatste werkt gewoon. Print je query nog eens inclusief de error en error nummer.
Je hebt gelijk, hij werkt gewoon. Denk dat ik een klein foutje heb gemaakt met jou code kopiëren.
Bedankt voor de moeite!
Tijndinsdag 25 oktober 2011 @ 21:39
quote:
0s.gif Op dinsdag 25 oktober 2011 19:57 schreef GlowMouse het volgende:

[..]

Cronjobs werken op hele minuten.
Ach, inderdaad. Ik faal weer lekker :')
GlowMousedinsdag 25 oktober 2011 @ 21:42
quote:
10s.gif Op dinsdag 25 oktober 2011 21:39 schreef Tijn het volgende:

[..]

Ach, inderdaad. Ik faal weer lekker :')
Het is ook niet logisch, komt denk ik nog uit de tijd dat het bekijken wélke cronjob nou precies gedraaid moet worden nog niet was geoptimaliseerd, en het zo tijdrovend was dat het niet elke seconde gedraaid kon worden (van elke user werd de cronfile elke keer ingelezen; tegenwoordig - overigens al tientallen jaren - houdt cron bij wat de volgende job zal zijn).
mcfwoensdag 26 oktober 2011 @ 10:59
Hallo,

ik loop tegen een probleem met mysql.
Ik heb dus een reservering systeem gebouwd. En alles goed en wel, maar nu wil ik de prijs van

de bestelling berekenen.

De prijs is gedefinieerd in de tabel 'menus':

id (auto increment)
Naam (varchar)
prijs (INT)
opmerking (Varchar)

De bestelling wordt opgeslagen in 'bestelling'
id
bestelling
datum
begintijd
eindtijd
klantid (relatie aan naw (klantid))

De details worden opgeslagen in 'bestelling_detail'
bestellingid (relatie aan bestelling (id))

prijs (!Hier moet de prijs in komen te staan!!)

bij menu1t/m4 komen de id's van de bestelde menu's per persoonMax 4 personen voor 1 bestellingen
menu1 (relatie aan menus(id)) (dus bijv. 1)
menu2( '' )
menu3
menu4

Dus stel 2 mensen hebben menu 1 besteld, 1 persoon heeft menu 3 besteld en menu4 blijft leeg.
Hoe krijg ik dan de prijzen bij elkaar opgeteld en in bestelling_detail opgeslagen?
Ik vraag hier niet om een script o.i.d. maar een suggestie voor een oplossing

Bij voorbaat dank.
Sitethiefwoensdag 26 oktober 2011 @ 11:31
Tip: gebruik zoiets ipv print_r, zorgt voor een beter overzicht:

1
2
3
4
5
6
7
8
<?php

function echo2($data){
  echo(
'<pre style="border:1px solid black; padding:5px;width:50%;background-color:lightgrey;">');
  
print_r($data);
  echo(
"</pre>");
}
?>
KomtTijd...woensdag 26 oktober 2011 @ 11:48
quote:
0s.gif Op woensdag 26 oktober 2011 10:59 schreef mcf het volgende:

Dus stel 2 mensen hebben menu 1 besteld, 1 persoon heeft menu 3 besteld en menu4 blijft leeg.
Hoe krijg ik dan de prijzen bij elkaar opgeteld en in bestelling_detail opgeslagen?
Ik vraag hier niet om een script o.i.d. maar een suggestie voor een oplossing

Bij voorbaat dank.
ik zou gewoon de prijzen in een array douwen en in PHP oplossen.

Oh en kudo's voor de onduidelijkste post van het topic.
Pakspulwoensdag 26 oktober 2011 @ 11:59
quote:
0s.gif Op woensdag 26 oktober 2011 10:59 schreef mcf het volgende:
Hallo,

ik loop tegen een probleem met mysql.
Ik heb dus een reservering systeem gebouwd. En alles goed en wel, maar nu wil ik de prijs van

de bestelling berekenen.

De prijs is gedefinieerd in de tabel 'menus':

id (auto increment)
Naam (varchar)
prijs (INT)
opmerking (Varchar)

De bestelling wordt opgeslagen in 'bestelling'
id
bestelling
datum
begintijd
eindtijd
klantid (relatie aan naw (klantid))

De details worden opgeslagen in 'bestelling_detail'
bestellingid (relatie aan bestelling (id))

prijs (!Hier moet de prijs in komen te staan!!)

bij menu1t/m4 komen de id's van de bestelde menu's per persoonMax 4 personen voor 1 bestellingen
menu1 (relatie aan menus(id)) (dus bijv. 1)
menu2( '' )
menu3
menu4

Dus stel 2 mensen hebben menu 1 besteld, 1 persoon heeft menu 3 besteld en menu4 blijft leeg.
Hoe krijg ik dan de prijzen bij elkaar opgeteld en in bestelling_detail opgeslagen?
Ik vraag hier niet om een script o.i.d. maar een suggestie voor een oplossing

Bij voorbaat dank.
bestelling_detail
- ID (auto increment, aangezien bestellingID en menuID combinaties vaker kunnen voorkomen)
-bestellingID
-menuID
-Prijs (handig als je datawarehouse gaat opzetten)

SELECT SUM(bestelling_detail) FROM bestelling_detail WHERE bestellingID = {degene die je zoekt}

Deze query kun je combineren met ophalen van de gehele bestelling.
mcfwoensdag 26 oktober 2011 @ 12:38
quote:
0s.gif Op woensdag 26 oktober 2011 11:48 schreef KomtTijd... het volgende:

[..]

ik zou gewoon de prijzen in een array douwen en in PHP oplossen.

Oh en kudo's voor de onduidelijkste post van het topic.
Hmm, frapant. Ik vond mijn post overzichtelijk en duidelijk:
-Groet
-Inleiding
-Database samenvatting
-Probleem

Natuurlijk was het probleem een beetje raar omschreven maar dat komt omdat ik al een hele poos met die code bezig ben en voor mij lijkt het een redelijk normale zaak.
Pakspulwoensdag 26 oktober 2011 @ 12:40
quote:
0s.gif Op woensdag 26 oktober 2011 12:38 schreef mcf het volgende:

[..]

Hmm, frapant. Ik vond mijn post overzichtelijk en duidelijk:
-Groet
-Inleiding
-Database samenvatting
-Probleem

Natuurlijk was het probleem een beetje raar omschreven maar dat komt omdat ik al een hele poos met die code bezig ben en voor mij lijkt het een redelijk normale zaak.
Groet hoeft niet, inleiding is altijd fijn, maar minimaal, database samenstelling is goed anders wordt het voor ons een groot gok proces, probleem mist geprobeerde oplossingen en je verkeerd bepaalde relaties aan te geven wat mij idee geeft dat je wat in elkaar hebt gebouwd, maar nog niet precies weet wat je doet.

Maar heb je wat aan mijn oplossing? :P
Chandlerwoensdag 26 oktober 2011 @ 12:46
Ik zou graag reacties willen op mijn tabellen opzet voor 'vangsten' (van visjes).

vangsten (id, gebruiker_id, maakdatum, bewerkdatum, vangstdatum)
vangsten_specs (id, soort, gegeven)

nu wil ik in specs alle andere gegevens toevoegen, bv
soort, lengte, gewicht, aas soort, lokatie, foto id's, vangst details (water temp, diepte, wind, etc)

echter zit ik dan met het probleem van zoeken.

Bv ik wil alle vissen uitlezen die gevangen zijn in bv groningen.
Of alle vissen van een bepaalde soort

Hoe doe ik dat? is mijn opzet goed? of kan ik beter meer gegeens in het 1e tabel zetten? zoals lokatie, etc, deze gegevens zijn welliswaar optioneel maar komen toch wel vaak voor.

Just my thoughts.... :D
Pakspulwoensdag 26 oktober 2011 @ 12:52
Heb je een duidelijke definitie van lokatie? Is dit visvijver, stad, omgeving, gemeente of provincie?

Als dit visvijver dan is de parent een stad, dan gemeente, provincie etc.

Alle parents zou ik in verschillende tabellen opnemen en dan is het een eitje met relaties.
mcfwoensdag 26 oktober 2011 @ 12:56
quote:
0s.gif Op woensdag 26 oktober 2011 12:40 schreef Pakspul het volgende:

[..]

Groet hoeft niet, inleiding is altijd fijn, maar minimaal, database samenstelling is goed anders wordt het voor ons een groot gok proces, probleem mist geprobeerde oplossingen en je verkeerd bepaalde relaties aan te geven wat mij idee geeft dat je wat in elkaar hebt gebouwd, maar nog niet precies weet wat je doet.

Maar heb je wat aan mijn oplossing? :P
Ok, ik ben een beetje mysql noob, dus verbeter mij waar het fout gaat:

SELECT SUM(bestelling_detail)
FROM bestelling_detail WHERE bestellingID = 3
Ik doe dit, in deze bestelling zitten 1x menuid(1) 2x menuid(3) 1xniks
Dus daar wil ik de prijs van berekenen, maar ik krijg de volgende error
#1054 - Unknown column 'bestelling_detail' in 'field list'
Pakspulwoensdag 26 oktober 2011 @ 12:57
quote:
0s.gif Op woensdag 26 oktober 2011 12:56 schreef mcf het volgende:

[..]

Ok, ik ben een beetje mysql noob, dus verbeter mij waar het fout gaat:

SELECT SUM(bestelling_detail)
FROM bestelling_detail WHERE bestellingID = 3
Ik doe dit, in deze bestelling zitten 1x menuid(1) 2x menuid(3) 1xniks
Dus daar wil ik de prijs van berekenen, maar ik krijg de volgende error
#1054 - Unknown column 'bestelling_detail' in 'field list'
Die foutmelding moet voldoende zeggen lijkt mij? Maar deze moet gaan naar de kolom prijs in de bestelling_detail kolom. Ik weet niet hoe die tabel er nu uitziet?

Tevens als je al problemen hebt met SQL hoe gaat je het dan toepassing in een applicatie?
mcfwoensdag 26 oktober 2011 @ 13:20
quote:
0s.gif Op woensdag 26 oktober 2011 12:57 schreef Pakspul het volgende:

[..]

Die foutmelding moet voldoende zeggen lijkt mij? Maar deze moet gaan naar de kolom prijs in de bestelling_detail kolom. Ik weet niet hoe die tabel er nu uitziet?

Tevens als je al problemen hebt met SQL hoe gaat je het dan toepassing in een applicatie?
Hier leer ik juist sql van.

Bij bestelling_detail is prijs leeg die wil ik dan veranderen met alter table en de prijs van de menu's in zetten zodat ik later op een pagina met een query de bestelling tonen voor elke klant. Dit gaat allemaal goed maar nu wil ik de prijs ook nog via query uit de db halen maar ik weet niet hoe ik in sql de prijs kan optellen van de menu's.
Menu1
1 relatie aan menus(id(bijvoorbeeld 1)) menus(id, naam, prijs)(1, pasta, 10)
Menu2 .............. ......................................................................................................., 15
Menu3 x
Menu4 x

Ik vermoed dat ik misschien iets met left join zou kunnen doen maar weet niet hoe ik dit moet aanpakken.
Ik hoop dat dit een beetje duidelijk is
Cue_woensdag 26 oktober 2011 @ 13:33
Even een relatief simpele gok ik.

Ik heb een datum veld die ik ophaal uit de database
Hier wil ik 1 jaar bij optellen.
Dit mag ook gelijk met de qry gedaan worden of dat ik hem bewerk in php

(vervolgens dien ik hem weg te schrijven in een andere tabel).

30-09-2010 00:00:00 Dit dient dus 30-09-2011 te worden.
GIwoensdag 26 oktober 2011 @ 13:39
http://dev.mysql.com/doc/(...)-time-functions.html
Cue_woensdag 26 oktober 2011 @ 13:43
quote:
werken die ook allemaal op een oracle database? Ik ga eens googlen :)
Tnx!
Pakspulwoensdag 26 oktober 2011 @ 13:47
quote:
0s.gif Op woensdag 26 oktober 2011 13:20 schreef mcf het volgende:

[..]

Hier leer ik juist sql van.

Bij bestelling_detail is prijs leeg die wil ik dan veranderen met alter table en de prijs van de menu's in zetten zodat ik later op een pagina met een query de bestelling tonen voor elke klant. Dit gaat allemaal goed maar nu wil ik de prijs ook nog via query uit de db halen maar ik weet niet hoe ik in sql de prijs kan optellen van de menu's.
Menu1
1 relatie aan menus(id(bijvoorbeeld 1)) menus(id, naam, prijs)(1, pasta, 10)
Menu2 .............. ......................................................................................................., 15
Menu3 x
Menu4 x

Ik vermoed dat ik misschien iets met left join zou kunnen doen maar weet niet hoe ik dit moet aanpakken.
Ik hoop dat dit een beetje duidelijk is
Jij wilt dus de volgende database opstelling, dit is even het stuk waar het omgaat:
db_menu_vb.png

FK1 gaat van Bestelling_detail.MenuID naar Menu.ID
FK2 gaat van Bestelling_detail.BestellingID naar Bestelling.ID

Zo heb je in ieder record van bestelling_detail een relatie naar de bestelling en het bijhorende menu dat is besteld

Je zult twee queries nodig hebben, eentje om de bestelling overall op te halen (datum, klant, totale prijs etc) en de andere om de productregels op te halen.

De eerste query zal er iets alsvolgt uit zien:
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT 
    Bestelling.ID,
    Bestelling.KlantID,
    Klant.Naam,
    SUM(Bestelling_detail.Prijs * Bestelling_detail.Aantal) As Totaalprijs
FROM 
    Bestelling
INNER JOIN Klant
ON     Bestelling.KlantID = Klant.ID
LEFT JOIN Bestelling_detail
    Bestelling.ID = Bestelling_detail.BestellingID
WHERE
    Bestelling.ID = X
(Waar X is de bestelling is waar je op wilt zoeken)

En dan de tweede query:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
    Bestelling_detail.ID,
    Bestelling_detail.MenuID,
    Menu.Naam,
    Menu.Opmerking,
    Bestelling_detail.Prijs,
    Bestelling_detail.Aantal
    Bestelling_detail.Prijs * Bestelling_detail.Aantal As TotaalPrijs
FROM
    Bestelling_detail
INNER JOIN Menu
ON
    Bestelling_detail.MenuID = Menu.ID
WHERE
    Bestelling_detail.BestellingID = X
(Waar X is de bestelling is waar je op wilt zoeken)

En zo haal je dan een bestelling op :)

Vooral het visualiseren van je database werkt er goed met overdragen van informatie als je een probleem probeert te tackelen, anders wel als je het op een Forum zet zodat de rest je ontwerp eenvoudig kan zien.
GIwoensdag 26 oktober 2011 @ 14:09
quote:
0s.gif Op woensdag 26 oktober 2011 13:43 schreef Cue_ het volgende:

[..]

werken die ook allemaal op een oracle database? Ik ga eens googlen :)
Tnx!
voor oracle zal de syntax best eens anders kunnen zijn: http://psoug.org/reference/date_func.html
Sitethiefwoensdag 26 oktober 2011 @ 14:37
Ik ken
1
2
3
4
5
6
7
<?php
$a 
xor $b     TRUE if either $a or $b is TRUEbut not both.[php]

Maa ik zoek 

[php]$a operator $b TRUE if either $a or $b is TRUE, or bothbut not none.
?>

Ik ben ff kwijt hoe dat ook al weer ging... volgens mij was dit n iet mogelijk via een operator maar wel op een andere manier
KomtTijd...woensdag 26 oktober 2011 @ 14:38
Gewoon "or"? Of (gebruikelijker): ||
Sitethiefwoensdag 26 oktober 2011 @ 14:41
Zie je, ik wist dat ik iets miste :X


:@
GIwoensdag 26 oktober 2011 @ 15:37
Best basic opzich ;)
Sitethiefwoensdag 26 oktober 2011 @ 16:32
Ik had in mijn hoofd zitten dat OR de functionaliteit van XOR had... :X .
7leintje93donderdag 27 oktober 2011 @ 12:59
Hey guys,

Ik heb hier een bijzonder simpele vraag maar hoe zorg ik ervoor dat een combinatie van velden in een tabel uniek is? Ik kan het niet vinden. Ik moet een soort tussentabelletje maken waarbij ProjectId en CategoryId samengebracht worden. Een project kan in meerdere categoriën vallen, maar omdat ik dacht dat in PHPMyAdmin een primary key altijd één veld moest zijn heb ik een extra tabelId toegevoegd, maar nu moet ik nog wel zorgen dat er geen dubbele combinaties ontstaan....
Ik gebruik overigens Navicat Lite om mijn tabellen te maken/aan te passen maar ik kan ook wel een beetje overweg met PMA zelf.
Groetjes :)
Scorpiedonderdag 27 oktober 2011 @ 13:02
quote:
0s.gif Op donderdag 27 oktober 2011 12:59 schreef 7leintje93 het volgende:
Hey guys,

Ik heb hier een bijzonder simpele vraag maar hoe zorg ik ervoor dat een combinatie van velden in een tabel uniek is? Ik kan het niet vinden. Ik moet een soort tussentabelletje maken waarbij ProjectId en CategoryId samengebracht worden. Een project kan in meerdere categoriën vallen, maar omdat ik dacht dat in PHPMyAdmin een primary key altijd één veld moest zijn heb ik een extra tabelId toegevoegd, maar nu moet ik nog wel zorgen dat er geen dubbele combinaties ontstaan....
Ik gebruik overigens Navicat Lite om mijn tabellen te maken/aan te passen maar ik kan ook wel een beetje overweg met PMA zelf.
Groetjes :)
Unique Constraints.
http://www.w3schools.com/sql/sql_unique.asp
Pakspuldonderdag 27 oktober 2011 @ 13:04
quote:
0s.gif Op donderdag 27 oktober 2011 12:59 schreef 7leintje93 het volgende:
Hey guys,

Ik heb hier een bijzonder simpele vraag
Dan kun je hem zelf ook wel oplossen, als je er iets meer werk instopt.
7leintje93donderdag 27 oktober 2011 @ 13:06
quote:
0s.gif Op donderdag 27 oktober 2011 13:04 schreef Pakspul het volgende:

[..]

Dan kun je hem zelf ook wel oplossen, als je er iets meer werk instopt.
Zo mooi hoe mensen er altijd vanuit gaan dat je lui bent als je om hulp vraagt.
7leintje93donderdag 27 oktober 2011 @ 13:10
quote:
Thanks a lot! :)
GlowMousedonderdag 27 oktober 2011 @ 13:14
quote:
0s.gif Op donderdag 27 oktober 2011 12:59 schreef 7leintje93 het volgende:
omdat ik dacht dat in PHPMyAdmin een primary key altijd één veld moest zijn heb ik een extra tabelId toegevoegd
Dat is niet zo, je kunt beter een goede tabel aanmaken.
7leintje93donderdag 27 oktober 2011 @ 13:23
quote:
0s.gif Op donderdag 27 oktober 2011 13:14 schreef GlowMouse het volgende:

[..]

Dat is niet zo, je kunt beter een goede tabel aanmaken.
Wat bedoel je daarmee?
Scorpiedonderdag 27 oktober 2011 @ 13:23
quote:
0s.gif Op donderdag 27 oktober 2011 13:23 schreef 7leintje93 het volgende:

[..]

Wat bedoel je daarmee?
Dat die extra tabelid overbodig is.
7leintje93donderdag 27 oktober 2011 @ 13:24
Ik ga het meteen veranderen :) Maakt het alleen maar makkelijker. Thanks!
Catbertdonderdag 27 oktober 2011 @ 13:42
quote:
0s.gif Op donderdag 27 oktober 2011 13:23 schreef 7leintje93 het volgende:
Wat bedoel je daarmee?
Een key kan prima samengesteld worden uit verschillende kolommen. Het is doornormaal dat in koppeltabellen bijvoorbeeld 2 id's wijzende naar andere tabellen samen een key vormen.
7leintje93donderdag 27 oktober 2011 @ 13:44
quote:
0s.gif Op donderdag 27 oktober 2011 13:42 schreef Catbert het volgende:

[..]

Een key kan prima samengesteld worden uit verschillende kolommen. Het is doornormaal dat in koppeltabellen bijvoorbeeld 2 id's wijzende naar andere tabellen samen een key vormen.
Het is inmiddels veranderd :) Weer wat geleerd!
YazooWdonderdag 27 oktober 2011 @ 16:56
Ik heb een array met meerdere items, die items bevatten meerdere woorden met daartussen spaties.
Nu wil ik die spaties verwijderen, hoe doe ik dit? Kom zelf niet verder dan dit:
1$array = str_replace (" ", "", $array);
GlowMousedonderdag 27 oktober 2011 @ 16:59
probeer eens iets met array_map
YazooWdonderdag 27 oktober 2011 @ 17:17
Op de 1 of andere manier is het me nu wel gelukt met dezelfde code :{
YazooWdonderdag 27 oktober 2011 @ 17:30
Heb verder nog 2 vraagjes omtrent DOM.

Speciale characters komen niet goed door, als voorbeeld: Côte d'Ivoire wordt opgehaald als Côte d'Ivoire. Hoe kan ik dit oplossen? Moet ik nadat ik de data heb binnen gehaald het weer converteren? En als ik Côte d'Ivoire naar mijn database wil schrijven ga ik denk problemen krijgen omdat er een enkel haakje ( ' ) in staat?

En waarom krijg ik af en toe deze fout:
quote:
Fatal error: Maximum execution time of 30 seconds exceeded in C:\xampp\htdocs\DOM\simple_html_dom.php on line 1180
Mijn max_execution_time in de php.ini staat op 90...
YazooWdonderdag 27 oktober 2011 @ 20:50
Character probleem opgelost door php file op te slaan met UTF-8 encoding.
MrNilesvrijdag 28 oktober 2011 @ 13:33
waarom gaat dit goed
1
2
3
<?php
echo "<a href=\"includes/prikbord/posters/1.jpg\" />Klik hier voor de poster</a>";
?>
c
en krijg ik hier een ongeveel de hele url dubbel heb
1
2
3
<?php
echo "<a href=\"includes/prikbord/posters/".$array['P_poster']."\" />Klik hier voor de poster</a>";
?>
mscholvrijdag 28 oktober 2011 @ 13:36
quote:
0s.gif Op vrijdag 28 oktober 2011 13:33 schreef MrNiles het volgende:
waarom gaat dit goed
[ code verwijderd ]

en krijg ik hier een ongeveel de hele htmlcode dubbel heb
[ code verwijderd ]

in $array[P_Poster] staat de hele html code?
MrNilesvrijdag 28 oktober 2011 @ 13:36
quote:
0s.gif Op vrijdag 28 oktober 2011 13:36 schreef mschol het volgende:

[..]

in $array[P_Poster] staat de hele html code?
:Y :@
wat kan je er soms overheen kijken...koffietijd denk ik
mscholvrijdag 28 oktober 2011 @ 13:37
quote:
0s.gif Op vrijdag 28 oktober 2011 13:36 schreef MrNiles het volgende:

[..]

:Y :@
:')
ach ja, foutje bedankt :P
ikke_ookzaterdag 29 oktober 2011 @ 11:11
ie0bk4.png

Ik probeer met 1 query informatie uit een aantal gejoinde tabellen te halen, ik loop alleen op het laatste stukje vast. Ik heb het gereduceerd tot een eenvoudig probleem met 1 tabel, als ik dat weet snap ik het hopelijk ook voor de totale query.

Hoe krijg ik uit bovenstaande tabel voor alle gebruikers zijn eerst gekochte product? (in 1 query) Ik dacht iets in de trend van GROUP BY Customer, maar dan pakt hij het product met de laagste O_id, en dat hoeft niet per se het eerst gekochte product te zijn.

[ Bericht 6% gewijzigd door ikke_ook op 29-10-2011 11:23:38 ]
urselzaterdag 29 oktober 2011 @ 12:08
quote:
0s.gif Op zaterdag 29 oktober 2011 11:11 schreef ikke_ook het volgende:
[ afbeelding ]

Ik probeer met 1 query informatie uit een aantal gejoinde tabellen te halen, ik loop alleen op het laatste stukje vast. Ik heb het gereduceerd tot een eenvoudig probleem met 1 tabel, als ik dat weet snap ik het hopelijk ook voor de totale query.

Hoe krijg ik uit bovenstaande tabel voor alle gebruikers zijn eerst gekochte product? (in 1 query) Ik dacht iets in de trend van GROUP BY Customer, maar dan pakt hij het product met de laagste O_id, en dat hoeft niet per se het eerst gekochte product te zijn.
Order by erbij gooien :7
GlowMousezaterdag 29 oktober 2011 @ 13:22
http://explainextended.co(...)-on-a-unique-column/
wobbelzaterdag 29 oktober 2011 @ 18:27
quote:
0s.gif Op maandag 24 oktober 2011 08:51 schreef Pakspul het volgende:

[..]
[ code verwijderd ]

Niet in één preg_replace, maar ik denk dat je de oplossing niet verkeerd zal vinden.
Thankjoeee!!
7leintje93zondag 30 oktober 2011 @ 13:36
Hoi allemaal

Ik heb een tabelletje genaamd category, met twee kolommen CategoryId en Name. Ik heb het volgende formuliertje:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

echo '<form method="post" action="add_category.php">
<select name="category_name">'
;

$result=mysql_query("SELECT * FROM category");
while (
$row mysql_fetch_array($resultMYSQL_ASSOC)){
  echo 
'<option value="'.$row[CategoryId].'">'.$row[Name].'</option>';
}
echo 
'</select><br /><br />
<input type="submit" value="Voeg categorie toe">
</form>'
;
?>

Als ik dan in add_category.php $_POST['category_name'] probeer te echoën lukt dat niet, terwijl als ik $row[Name] bij value zet word de naam wel keurig geëchood (geëcho'd? ge-echood?). CategoryId is een int, misschien dat het daarin zit, maar ik krijg het in ieder geval niet aan de praat. Kan iemand mij helpen?

Groetjes Marjolein
GlowMousezondag 30 oktober 2011 @ 13:44
kijk eens naar de html die bovenstaand script genereert. En zet je error reporting hoger.
boem-dikkiezondag 30 oktober 2011 @ 13:45
quote:
0s.gif Op zondag 30 oktober 2011 13:36 schreef 7leintje93 het volgende:
Hoi allemaal

Ik heb een tabelletje genaamd category, met twee kolommen CategoryId en Name. Ik heb het volgende formuliertje:
[ code verwijderd ]

Als ik dan in add_category.php $_POST['category_name'] probeer te echoën lukt dat niet, terwijl als ik $row[Name] bij value zet word de naam wel keurig geëchood (geëcho'd? ge-echood?). CategoryId is een int, misschien dat het daarin zit, maar ik krijg het in ieder geval niet aan de praat. Kan iemand mij helpen?

Groetjes Marjolein
Wat wil je precies doen, want ik snap je verhaal niet helemaal.
7leintje93zondag 30 oktober 2011 @ 13:49
quote:
0s.gif Op zondag 30 oktober 2011 13:44 schreef GlowMouse het volgende:
kijk eens naar de html die bovenstaand script genereert. En zet je error reporting hoger.
Goed idee om naar de bron te kijken. Heb ik zelf niet aan gedacht -.-' Ik vraag me echt af waarom niet. Fail.

Bij de value staat in de bron een lege string. Weet je misschien hoe dit kan? Want in de db staat wel een waarde..
7leintje93zondag 30 oktober 2011 @ 13:51
quote:
14s.gif Op zondag 30 oktober 2011 13:45 schreef boem-dikkie het volgende:

[..]

Wat wil je precies doen, want ik snap je verhaal niet helemaal.
Ik wil CategoryId bij value zetten, en die in add_category.php verwerken (om te testen even echoën).
The_Terminatorzondag 30 oktober 2011 @ 13:52
quote:
0s.gif Op zondag 30 oktober 2011 13:49 schreef 7leintje93 het volgende:

[..]

Goed idee om naar de bron te kijken. Heb ik zelf niet aan gedacht -.-' Ik vraag me echt af waarom niet. Fail.

Bij de value staat in de bron een lege string. Weet je misschien hoe dit kan? Want in de db staat wel een waarde..
Zet in dit stukje: $row[CategoryId] de key CategoryId tussen quotes, dus: $row['CategoryId'], check ook of de hoofd/kleine letters hetzelfde zijn.
GlowMousezondag 30 oktober 2011 @ 13:53
ofwel doe var_dump($row);
7leintje93zondag 30 oktober 2011 @ 14:04
Hoofdletters en kleine letters zijn hetzelfde. Tussen quotejes haalt niets uit. Vreemd.
7leintje93zondag 30 oktober 2011 @ 14:17
Het werkt inmiddels. Bedankt voor alle tips.
Faux.zondag 30 oktober 2011 @ 14:46
Hoi,

ik probeer met simple_html_dom een document uit te lezen en dat gaat prima, behalve dan dat ik de resultaten niet als HTML wil maar als gewone ruwe tekst. Op deze pagina zeggen ze dat dat kan door achter

1
2
3
4
5
<?php

$html 
file_get_html("document.html");

?>

->plaintext; neer te zetten:

1
2
3
4
5
<?php

$html 
file_get_html("document.html")->plaintext;

?>

Maar dan krijg ik de volgende error:

Fatal error: Call to a member function find() on a non-object in html.php on line 14.

Weet iemand hoe ik dit moet oplossen? :)
U.N.K.L.E.zondag 30 oktober 2011 @ 14:51
Wat staat er precies op line 14?
Faux.zondag 30 oktober 2011 @ 14:52
quote:
0s.gif Op zondag 30 oktober 2011 14:51 schreef U.N.K.L.E. het volgende:
Wat staat er precies op line 14?
1
2
3
4
5
<?php

$html 
file_get_html("document.html")->plaintext;

?>
U.N.K.L.E.zondag 30 oktober 2011 @ 14:52
Include je wel de classe file?
Faux.zondag 30 oktober 2011 @ 14:52
quote:
0s.gif Op zondag 30 oktober 2011 14:52 schreef U.N.K.L.E. het volgende:
Include je wel de classe file?
Jup. Het werkte ook prima totdat ik er ->plaintext; achter zette.
U.N.K.L.E.zondag 30 oktober 2011 @ 14:53
quote:
7s.gif Op zondag 30 oktober 2011 14:52 schreef Faux. het volgende:

[..]

Jup. Het werkte ook prima totdat ik er ->plaintext; achter zette.
oh doe eens ->plaintext();

dus met haakjes
Faux.zondag 30 oktober 2011 @ 14:55
quote:
0s.gif Op zondag 30 oktober 2011 14:53 schreef U.N.K.L.E. het volgende:

[..]

oh doe eens ->plaintext();

dus met haakjes
Werkt helaas niet:

Fatal error:
Call to a member function plaintext() on a non-object in html.php on line 14
BBQSausagezondag 30 oktober 2011 @ 15:09
ik weet niet hoe jij het dan doet, maar als ik simpelweg de simple_html_dom.php file download, op m'n server zet, er een file bij maak, en daarin het volgende zet:
1
2
3
4
5
6
7
<?php
include('simple_html_dom.php');

$plaintext file_get_html('http://google.nl')->plaintext

echo 
$plaintext;
?>

Dan werkt het hier prima hoor. :)
Pakspulzondag 30 oktober 2011 @ 15:10
var_dump $html eens om te kijken of file_get_html uberhaupt wel het bestand vind en een klasse terug geeft.
Lightzondag 30 oktober 2011 @ 15:11
quote:
7s.gif Op zondag 30 oktober 2011 14:55 schreef Faux. het volgende:

[..]

Werkt helaas niet:

Fatal error:
Call to a member function plaintext() on a non-object in html.php on line 14
Dan zou file_get_html('document.html') geen object opleveren. Bestaat het bestand document.html wel en staat het op de plaats waar je zoekt?
Faux.zondag 30 oktober 2011 @ 15:13
quote:
14s.gif Op zondag 30 oktober 2011 15:09 schreef BBQSausage het volgende:
ik weet niet hoe jij het dan doet, maar als ik simpelweg de simple_html_dom.php file download, op m'n server zet, er een file bij maak, en daarin het volgende zet:
[ code verwijderd ]

Dan werkt het hier prima hoor. :)
Hier raar genoeg niet :N

quote:
0s.gif Op zondag 30 oktober 2011 15:10 schreef Pakspul het volgende:
var_dump $html eens om te kijken of file_get_html uberhaupt wel het bestand vind en een klasse terug geeft.
var_dump laat m'n browser crashen in dit geval, en ik ga er vanuit dat hij het bestand vindt aangezien hij dat voorheen ook deed :)

quote:
0s.gif Op zondag 30 oktober 2011 15:11 schreef Light het volgende:

[..]

Dan zou file_get_html('document.html') geen object opleveren. Bestaat het bestand document.html wel en staat het op de plaats waar je zoekt?
Jup, want hij deed het voordat ik er ->plaintext; achter zette wel. :)

Afijn, ik probeer nu met explode(); de HTML weg te halen.
Lang leve strip_tags();
Faux.zondag 30 oktober 2011 @ 15:26
Oke, met strip_tags(); het probleem opgelost. Hartstikke bedankt voor jullie hulp! :)
ikke_ookzondag 30 oktober 2011 @ 17:03
quote:
Ik kom er niet uit. Ik beschrijf wel even de hele situatie, misschien dat iemand met dan wat verder kan helpen.

Ik heb de volgende tabellen met onder andere deze velden
16c427t.png

Wat ik wil hebben is een lijstje met vogels die een bepaalde user heeft gezien, en per vogel de datum dat die user hem als eerst heeft gezien, en dat voor een specifiek land.
Wat ik nu heb is
1
2
3
4
5
6
7
8
9
10
11
<?php

SELECT Vogelnamen
.naamExcursies.datum
    FROM Waarnemingen 
    RIGHT JOIN 
(Excursies RIGHT JOIN Locaties ON Excursies.locatie_ID Locatie.IDON Excursies.ID=Waarnemingen.excursie_ID 
    RIGHT JOIN Vogelnamen ON Vogelnamen
.ID=Waarnemingen.vogel_ID 
    WHERE 
(Waarnemingen.user_ID=$user_ID AND Locaties.land=$land)
    
GROUP BY Waarnemingen.vogel_ID
    ORDER BY Vogelnamen
.volgorde

?>

Hier komt wel een goed lijstje uit, alleen de datum van de eerste waarneming klopt niet.... de GROUP BY resulteert in de waarnemingen met de laagste ID's.

Mijn kennis van mysql is echt te weinig om dit er op de juiste manier met 1 query uit te halen helaas....
GlowMousezondag 30 oktober 2011 @ 17:27
Verander Excursies.datum in MIN(Excursies.datum)
ikke_ookzondag 30 oktober 2011 @ 17:35
quote:
0s.gif Op zondag 30 oktober 2011 17:27 schreef GlowMouse het volgende:
Verander Excursies.datum in MIN(Excursies.datum)
Ahhh, natuurlijk! Ik zat veel te moeilijk te denken! Bedankt!
ikke_ookzondag 30 oktober 2011 @ 20:33
Het is toch nog niet helemaal naar wens. Als ik nou in dezelfde query ook het ID van de excursie en van de waarneming opvraag dan kloppen deze niet met de datum die ik terug krijg...

Met andere woorden, die MIN(Excursies.datum) retourneert wel de laagste datum,maar heeft geen invloed op de rest van de query.
YazooWmaandag 31 oktober 2011 @ 21:16
Afgelopen week een aardige database opgebouwd. Nu wil ik het gaan integreren op mijn site.
Ik heb nu een tabel met personen, met daarin onder andere de kolommen id(uniek), voornaam en achternaam. Wat ik nu wil is dat er automatisch voor elk persoon in de tabel een eigen .php gemaakt wordt, de inhoudt van deze .php is steeds hetzelfde, data in die pagina's moet opgeroepen worden door middel van wat er in de bestandsnaam staat, iets van: select * from gebruikers where id/voornaam/achternaam is gelijk aan bestandsnaam.

Hoe kan ik dit nu het beste aanpakken? Hoe maak ik automatisch .php pagina's?
En wat kan ik het beste doen met de bestandsnamen? Als ik voornaam en achternaam bij elkaar zet kan ik die vervolgens (denk ik) niet meer oproepen met een select query omdat het 2 samengevoegde worden zijn die samen 1 nieuw woord maken die mijn database niet kent.

Ideeën zijn welkom :)

[ Bericht 0% gewijzigd door YazooW op 31-10-2011 21:21:18 ]
KomtTijd...maandag 31 oktober 2011 @ 21:33
weleens van een GET variable gehoord?
YazooWmaandag 31 oktober 2011 @ 21:36
quote:
5s.gif Op maandag 31 oktober 2011 21:33 schreef KomtTijd... het volgende:
weleens van een GET variable gehoord?
GET is toch bedoeld om data van de ene pagina mee te nemen naar de andere? GET pakt trouwens toch ook alleen de stukjes achter het vraagteken, vb: index.php?voorbeeld=blabla. Waarna je vervolgens GET loslaat op voorbeeld en je output blabla is.
KomtTijd...maandag 31 oktober 2011 @ 21:38
Ja, juist.

Dat is toch wat je zoekt?

Of wou je serieus voor iedere mogelijke query een apart script gaan maken? Dan kun je net zo goed je database wegflikkeren en gewoon statische tekstbestandjes maken. Je bestandjes zijn dan effectief je database.
YazooWmaandag 31 oktober 2011 @ 21:52
quote:
2s.gif Op maandag 31 oktober 2011 21:38 schreef KomtTijd... het volgende:
Ja, juist.

Dat is toch wat je zoekt?

Of wou je serieus voor iedere mogelijke query een apart script gaan maken? Dan kun je net zo goed je database wegflikkeren en gewoon statische tekstbestandjes maken.
Dit is slechts een gedeelte van wat ik zoek, als het zo is dat ik met GET de bestandsnaam kan uitlezen dan weet ik in ieder geval al in grote lijnen hoe mijn select query eruit komt te zien.

Wat ik nog meer zoek is een manier waarmee ik automatisch .php pagina's kan aanmaken aan de hand van de inhoud van mijn tabel.

Stel ik heb de volgende tabel met 100 records:
quote:
ID, voornaam, achternaam
1, Jan, Jansen
2, Kees, Bakker
3. Piet, Vermeulen
etc
etc
Nu wil ik dat er van die 100 records 100 .php pagina's gemaakt worden, de vraag die ik nu heb is hoe ik automatisch .php bestanden kan aanmaken, hoe kan ik meegeven welke code er in die bestanden komt (deze code is voor elke pagina hetzelfde), en als ik weet hoe ik automatisch pagina's kan aanmaken moet ik op de 1 of andere manier ook kunnen bepalen wat de bestandsnamen gaan worden van die .php bestanden, en de vraag is dan; hoe ga ik die bestanden noemen. Als ik bijvoorbeeld van bovenstaand voorbeeldtabel de volgens bestanden maak:
quote:
JanJansen.php
KeesBakker.php
PietVermeulen.php
Als ik nu vervolgens dmv de bestandsnaam (GET?) mijn database aanroep, dan kan mijn database bijvoorbeeld geen JanJansen vinden omdat JanJansen samengevoegd is uit Jan en Jansen.

edit. laatste stukje is niet heel duidelijk misschien, wat ik bedoel te zeggen is dat de bestandsnaam dus meegenomen moet worden in de query, zoiets ongeveer dus: select * from gebruikers where id/voornaam/achternaam is gelijk aan bestandsnaam
Ouqzmaandag 31 oktober 2011 @ 21:59
Je moet niet met aparte bestanden gaan werken, PHP is juist dynamisch. Wat jij wil is zulke URL's: /bestand.php?voornaam=x&achternaam=y
Met de superglobal $_GET, die automatisch gevuld wordt, kan je de URL data uitlezen, bv. $_GET['voornaam'], en deze gefilterd opnemen in je query.
SELECT `veld` FROM `tabel` WHERE `voornaam` = xyz AND `achternaam` = xyz
Lightmaandag 31 oktober 2011 @ 22:01
Dat dus. En je wilt niet filteren op naam, want die is niet gegarandeerd uniek. Er kunnen best meerdere mensen zijn die Jan Jansen heten, en die naam kan ook vaker in je database voorkomen. Voor dat soort dingen kun je prima een id gebruiken, die is wel uniek.
YazooWmaandag 31 oktober 2011 @ 22:09
quote:
1s.gif Op maandag 31 oktober 2011 21:59 schreef Ouqz het volgende:
Je moet niet met aparte bestanden gaan werken, PHP is juist dynamisch. Wat jij wil is zulke URL's: /bestand.php?voornaam=x&achternaam=y
Met de superglobal $_GET, die automatisch gevuld wordt, kan je de URL data uitlezen, bv. $_GET['voornaam'], en deze gefilterd opnemen in je query.
SELECT `veld` FROM `tabel` WHERE `voornaam` = xyz AND `achternaam` = xyz
Ik snap wat je bedoeld, het is ook totaal onlogisch om met zoveel bestanden te werken. Maar het gaat hier om een schoolopdracht, we moeten een site maken in XHTML (php mag ook en levert ook een beter punt op) alleen blijven de eisen gebaseerd op een HTML uitwerking, er zit namelijk een eis in die stelt dat je minimaal 30 bestanden moet hebben...

Maar ik ga nu gewoon verder werken op jou suggestie met de $_GET methode. Ik leg bij mijn eindpresentatie wel uit dat het totaal onlogisch is zoveel verschillende bestanden te maken als het vele malen makkelijker kan met php.

Bedankt voor de hulp weer allemaal!
Scorpiemaandag 31 oktober 2011 @ 22:20
Je denkt veel te moeilijk.
KomtTijd...maandag 31 oktober 2011 @ 22:21
Er bestaat niet zoiets als een ".php pagina", een .php bestand is een script. En dat script kan bijvoorbeeld een internetpagina als uitvoer hebben.

Als jij een opdracht krijgt met een database dan zit daar onlosmakend PHP of een andere server-side scripttaal aan verbonden. Dat kan onmogelijk optioneel zijn. Als jij een opdracht krijgt om een site te maken in XHTML dan slaat dat op de uitvoer van het script. Een eis van 30 bestanden is compleet onzinnig.

Ik zou de opdracht nog maar eens goed doorlezen want waarschijnlijk staat er eerder "30 pagina's" ofzo.
#ANONIEMmaandag 31 oktober 2011 @ 23:05
quote:
0s.gif Op maandag 31 oktober 2011 22:21 schreef KomtTijd... het volgende:
Er bestaat niet zoiets als een ".php pagina", een .php bestand is een script. En dat script kan bijvoorbeeld een internetpagina als uitvoer hebben.

Als jij een opdracht krijgt met een database dan zit daar onlosmakend PHP of een andere server-side scripttaal aan verbonden. Dat kan onmogelijk optioneel zijn. Als jij een opdracht krijgt om een site te maken in XHTML dan slaat dat op de uitvoer van het script. Een eis van 30 bestanden is compleet onzinnig.

Ik zou de opdracht nog maar eens goed doorlezen want waarschijnlijk staat er eerder "30 pagina's" ofzo.
spijker op zijn kop!

In best grote projecten heb ik niet eens 30 bestanden :') Mijn basis is rond de 15 bestanden en daarmee kun je zat doen. Misschien is het een idee de opdracht hier te zetten? Dan kunnen we hem zelf even lezen
Intrepiditymaandag 31 oktober 2011 @ 23:41
quote:
0s.gif Op maandag 31 oktober 2011 23:05 schreef totalvamp het volgende:

In best grote projecten heb ik niet eens 30 bestanden :') Mijn basis is rond de 15 bestanden en daarmee kun je zat doen.
Goed framework zul je dan hebben :P Voordat ik uberhaupt een regel code schrijf heb ik al minstens een paar duizend bestanden.
Pakspulmaandag 31 oktober 2011 @ 23:42
quote:
0s.gif Op maandag 31 oktober 2011 23:41 schreef Intrepidity het volgende:

[..]

Goed framework zul je dan hebben :P Voordat ik uberhaupt een regel code schrijf heb ik al minstens een paar duizend bestanden.
1000 bestanden is een overkill, of je maakt gebruik van een reeds bestaand framework waarvan je 90% niet gebruikt.
Intrepiditymaandag 31 oktober 2011 @ 23:43
quote:
0s.gif Op maandag 31 oktober 2011 23:42 schreef Pakspul het volgende:

[..]

1000 bestanden is een overkill, of je maakt gebruik van een reeds bestaand framework waarvan je 90% niet gebruikt.
Ik maak gebruik van symfony. En liever 90% niet gebruiken als voor die resterende 10% (en dat is een hoop!) continue het wiel opnieuw uitvinden, niet kunnen unit-testen door slecht gescheiden code, geen componenten kunnen hergebruiken, etcetera.
#ANONIEMmaandag 31 oktober 2011 @ 23:46
quote:
0s.gif Op maandag 31 oktober 2011 23:41 schreef Intrepidity het volgende:

[..]

Goed framework zul je dan hebben :P Voordat ik uberhaupt een regel code schrijf heb ik al minstens een paar duizend bestanden.
het is mijn eigen kleine framework. Geen enkel ander werkt op de manier die ik het meest logisch vind. Ik heb ook niet al die andere zooi nodig die standaard bij een framework komt. Gewoon simpel database class, form class, page class, router etc. en voor elke pagina dan gewoon een controller.
Catbertmaandag 31 oktober 2011 @ 23:46
quote:
0s.gif Op maandag 31 oktober 2011 22:09 schreef YazooW het volgende:
Ik snap wat je bedoeld, het is ook totaal onlogisch om met zoveel bestanden te werken. Maar het gaat hier om een schoolopdracht, we moeten een site maken in XHTML (php mag ook en levert ook een beter punt op) alleen blijven de eisen gebaseerd op een HTML uitwerking, er zit namelijk een eis in die stelt dat je minimaal 30 bestanden moet hebben...
Je maakt dus gewoon HTML bestanden maar met de extensie PHP. Dat heeft met programmeren (en dus dit topic) niks te maken. Als je een debiele docent hebt die je extra punten geeft puur voor een extensie zou ik eens over een opleidingsswitch gaan denken.
Intrepiditymaandag 31 oktober 2011 @ 23:48
quote:
0s.gif Op maandag 31 oktober 2011 23:46 schreef totalvamp het volgende:

[..]

het is mijn eigen kleine framework. Geen enkel ander werkt op de manier die ik het meest logisch vind. Ik heb ook niet al die andere zooi nodig die standaard bij een framework komt. Gewoon simpel database class, form class, page class, router etc. en voor elke pagina dan gewoon een controller.
Leuk voor je eigen blog wellicht, maar je hebt het over 'best grote' projecten. Definieer best groot? Ik werk aan een systeem wat ongeveer 1.500.000 mails per dag naar buiten staat te stampen, en daar wil je een solide basis voor hebben.
Pakspulmaandag 31 oktober 2011 @ 23:49
quote:
0s.gif Op maandag 31 oktober 2011 23:43 schreef Intrepidity het volgende:

[..]

Ik maak gebruik van symfony. En liever 90% niet gebruiken als voor die resterende 10% (en dat is een hoop!) continue het wiel opnieuw uitvinden, niet kunnen unit-testen door slecht gescheiden code, geen componenten kunnen hergebruiken, etcetera.
Idee van een framework is toch dat je hem niet opnieuw gaat uitvinden :') En het wiel is ook meerdere malen van niets opnieuw gebouwd, omdat mensen zag dat het beter kan :P
#ANONIEMmaandag 31 oktober 2011 @ 23:54
quote:
0s.gif Op maandag 31 oktober 2011 23:48 schreef Intrepidity het volgende:

[..]

Leuk voor je eigen blog wellicht, maar je hebt het over 'best grote' projecten. Definieer best groot? Ik werk aan een systeem wat ongeveer 1.500.000 mails per dag naar buiten staat te stampen, en daar wil je een solide basis voor hebben.
Ik heb ook weleens zoiets gemaakt. Maar daarvoor begonnen we ook van begin af aan. Moesten 500.000 mensen tegelijk iets live kunnen volgen. Als je al een framework van top tot teen kent snap ik het zeker, maar ik heb over de jaren zoveel verschillende gezien, dat ik er niet bij 1 kan blijven hangen.
Scorpiedinsdag 1 november 2011 @ 07:24
Geef mij maar Cakephp.
Chandlerdinsdag 1 november 2011 @ 09:33
lol krijgen w een framework discussie! :P die van mij is het beste, die valt niet te hacken :P jaja

Maar goed, een opdracht van minimaal 30 paginas lijkt mij ook onzin, kan de poster niet even de vraag in zijn geheel posten? ;)
Scorpiedinsdag 1 november 2011 @ 09:34
Ik denk dat je juist even de docent moet laten zien dat je beter weet dan 30 pagina`s dom gaan zitten maken.
Sitethiefdinsdag 1 november 2011 @ 16:24
Hoe in hemelsnaam kopieer ik een table in een andere table met andere benamingen. Ik had nu dit:
1
2
3
4
5
6
7
8
<?php
INSERT INTO mla m
SELECT 
b
.ID,
b.Name
FROM bla b
 
?>
etc (niet de echte data ofc). Maar dat werkt niet, ik krijg een
1/* SQL Error (1136): Column count doesn't match value count at row 1 */
Dat is logisch, omdat mla precies een veld meer heeft, die overigens niet verplicht is. Maar als ik die achter de SELECT neerzet dan krijg ik
1/* SQL Error (1064): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0'' at line 12 */
Of die nou als '0' of gewoon 0 erinzet.

Hoe krijg ik dit nu precies voor elkaar?? http://dev.mysql.com/doc/refman/5.5/en/insert-select.html geeft niet echt een eenduidig antwoord. Ik heb het ook geprobeerd met een correcte match dmv :
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
INSERT INTO 
`mla` (
ID,
MName

VALUES
(
SELECT 
b
.ID,
b.Name
FROM bla b
)
?>
maar ook dat geeft een 1064.
Sitethiefdinsdag 1 november 2011 @ 16:25
Misschien moet ik geen () om de SELECT zetten..
Sitethiefdinsdag 1 november 2011 @ 16:30
Dat was em :)
ikke_ookwoensdag 2 november 2011 @ 21:31
quote:
0s.gif Op zondag 30 oktober 2011 17:03 schreef ikke_ook het volgende:

[..]

Ik kom er niet uit. Ik beschrijf wel even de hele situatie, misschien dat iemand met dan wat verder kan helpen.

Ik heb de volgende tabellen met onder andere deze velden
16c427t.png

Wat ik wil hebben is een lijstje met vogels die een bepaalde user heeft gezien, en per vogel de datum dat die user hem als eerst heeft gezien, en dat voor een specifiek land.
Wat ik nu heb is
1
2
3
4
5
6
7
8
9
<?php
SELECT Vogelnamen
.naamExcursies.datum
    FROM Waarnemingen 
    RIGHT JOIN 
(Excursies RIGHT JOIN Locaties ON Excursies.locatie_ID Locatie.IDON Excursies.ID=Waarnemingen.excursie_ID 
    RIGHT JOIN Vogelnamen ON Vogelnamen
.ID=Waarnemingen.vogel_ID 
    WHERE 
(Waarnemingen.user_ID=$user_ID AND Locaties.land=$land)
    
GROUP BY Waarnemingen.vogel_ID
    ORDER BY Vogelnamen
.volgorde
?>
quote:
Hier komt wel een goed lijstje uit, alleen de datum van de eerste waarneming klopt niet.... de GROUP BY resulteert in de waarnemingen met de laagste ID's.

Mijn kennis van mysql is echt te weinig om dit er op de juiste manier met 1 query uit te halen helaas....
quote:
Het is toch nog niet helemaal naar wens. Als ik nou in dezelfde query ook het ID van de excursie en van de waarneming opvraag dan kloppen deze niet met de datum die ik terug krijg...

Met andere woorden, die MIN(Excursies.datum) retourneert wel de laagste datum,maar heeft geen invloed op de rest van de query.
Niemand met een idee?
Lightwoensdag 2 november 2011 @ 21:40
Is het land per locatie uniek of kunnen er meerdere locaties met hetzelfde land zijn?
ikke_ookwoensdag 2 november 2011 @ 21:42
quote:
0s.gif Op woensdag 2 november 2011 21:40 schreef Light het volgende:
Is het land per locatie uniek of kunnen er meerdere locaties met hetzelfde land zijn?
Er zijn zeker meer locaties met hetzelfde land. Maar het land is per locatie uniek, iedere locatie heeft maar 1 land..
#ANONIEMwoensdag 2 november 2011 @ 22:50
quote:
0s.gif Op woensdag 2 november 2011 21:42 schreef ikke_ook het volgende:

[..]

Er zijn zeker meer locaties met hetzelfde land. Maar het land is per locatie uniek, iedere locatie heeft maar 1 land..
probeer het zo eens:

1
2
3
4
5
6
7
SELECT Vogelnamen.naam, MIN(Excursies.datum) as datum, Locaties.land 
FROM Waarnemingen
INNER JOIN Vogelnamen ON Waarnemingen.vogel_ID = Vogelnamen.ID
INNER JOIN Excursies ON Waarnemingen.excursie_ID = Excursies.ID
INNER JOIN Locaties ON Excursies.locatie_ID = Locaties.ID
GROUP BY Vogelnamen.naam, Locaties.land
ORDER BY datum ASC
GlowMousewoensdag 2 november 2011 @ 22:53
Dat werkt niet. Dit is de oplossing.
quote:
#ANONIEMwoensdag 2 november 2011 @ 22:53
quote:
0s.gif Op woensdag 2 november 2011 22:53 schreef GlowMouse het volgende:
Dat werkt niet. Dit is de oplossing.

[..]

in mijn testje anders wel. Tenzij ik het verkeerd heb begrepen.
GlowMousewoensdag 2 november 2011 @ 22:55
quote:
0s.gif Op woensdag 2 november 2011 22:53 schreef totalvamp het volgende:

[..]

in mijn testje anders wel. Tenzij ik het verkeerd heb begrepen.
Er komt wel een kloppend lijstje uit, maar niet de gevraagde lijst.
#ANONIEMwoensdag 2 november 2011 @ 22:59
quote:
14s.gif Op woensdag 2 november 2011 22:55 schreef GlowMouse het volgende:

[..]

Er komt wel een kloppend lijstje uit, maar niet de gevraagde lijst.
ik zie wat je bedoeld. Hmm unique kan dan de uitweg zijn. En anders is er niks mis met het maken van meerdere queries :) Soms is dat zelfs efficienter
Sitethiefdonderdag 3 november 2011 @ 08:26
Sowieso geeft die query je alle resultaten, als dat in de duizenden gaat lopen kan dat best vertraging bezorgen. Wat ik zelf altijd doe is een LIMIT die even groot is als de dataset die de paginering aan de voorkant wil hebben. Je kunt dan in een tweede query eventuele (extra) joins in een aparte loop ophalen, scheelt nogal of je 50 queries draait die iedere maar voor een item de joins ophalen, of dat je er meteen 15.000 ophaalt, en dan maar 50 weergeeft.
Cue_donderdag 3 november 2011 @ 10:02
Oke, ik zit met het volgende probleem

ik heb een tabel met daarin gegevens over de gemiddelde afstand die een truck voor een klant heeft afgelegd
Dus mijn tabel bestaat uit
Cust.no / name/plangr / 23-10-2011 / 22-10-2011 /21-10-2011 / etc

De dagen (23 t/m 21) is afhankelijk van de imput die de gebruiker geeft. dus dit kan ook maandoverschrijdend zijn.

Per dag staat het gemiddeld aantal km's dat er voor die klant gereden heeft. 1 rij per cust.nr dus.
Nu heb ik voor cust.nr een knop gemaakt met daarin een link naar een nieuwe pagina.. Maar toen:

ik wil dat er op die nieuwe pagina een staafgrafiek komt met daarin de waardes van de grafiek (x-as de dagen).

Iemand hier enig idee hoe dit aan te pakken?
Tijndonderdag 3 november 2011 @ 10:06
Wat is je vraag? Hoe je de juiste gegevens krijgt of hoe je die gegevens in een grafiek toont?

[ Bericht 1% gewijzigd door Tijn op 03-11-2011 10:13:21 ]
Cue_donderdag 3 november 2011 @ 10:07
quote:
5s.gif Op donderdag 3 november 2011 10:06 schreef Tijn het volgende:
Wat is je vraag? Hoe je de juiste tegevens krijgt of hoe je die gegevens in een grafiek toont?
Hoe ik inderdaad de grafiek en de waardes daar in krijg.
Tijndonderdag 3 november 2011 @ 10:12
Ik zou zeggen: Google Chart API
Pakspuldonderdag 3 november 2011 @ 10:57
quote:
14s.gif Op donderdag 3 november 2011 10:12 schreef Tijn het volgende:
Ik zou zeggen: Google Chart API
gvd wat zijn die sexy zeg :9 Google maakt echt zulke vette dingen en fijne is dat ze het delen met de gemeenschap, zodat wij geen extra tijd er in hoeven te steken.
urseldonderdag 3 november 2011 @ 10:59
quote:
14s.gif Op donderdag 3 november 2011 10:12 schreef Tijn het volgende:
Ik zou zeggen: Google Chart API
Die is alleen niet in offline beschikbaar. :'(
Scorpiedonderdag 3 november 2011 @ 11:02
quote:
0s.gif Op donderdag 3 november 2011 10:59 schreef ursel het volgende:

[..]

Die is alleen niet in offline beschikbaar. :'(
Dan pak je Sencha ExtJS, jQuery Charts, JS Plot of een ander JS plotting framework.
Pakspuldonderdag 3 november 2011 @ 11:03
quote:
0s.gif Op donderdag 3 november 2011 10:59 schreef ursel het volgende:

[..]

Die is alleen niet in offline beschikbaar. :'(
Kun je niet gewoon de bestanden downloaden en kijken wat hij doet?
Tijndonderdag 3 november 2011 @ 11:04
quote:
0s.gif Op donderdag 3 november 2011 10:59 schreef ursel het volgende:

[..]

Die is alleen niet in offline beschikbaar. :'(
Want de rest van je pagina is dat wel dan?
urseldonderdag 3 november 2011 @ 11:07
quote:
0s.gif Op donderdag 3 november 2011 11:03 schreef Pakspul het volgende:

[..]

Kun je niet gewoon de bestanden downloaden en kijken wat hij doet?
ff snel door de FAQ heen gelopen en die zegt van niet nee. :'(

quote:
5s.gif Op donderdag 3 november 2011 11:04 schreef Tijn het volgende:

[..]

Want de rest van je pagina is dat wel dan?
Wij bouwen niets dat afhankelijk is van online libraries. :7
Niet elke pagina hoeft online te staan. ;)
Scorpiedonderdag 3 november 2011 @ 11:10
quote:
0s.gif Op donderdag 3 november 2011 11:07 schreef ursel het volgende:
Wij bouwen niets dat afhankelijk is van online libraries. :7
Niet elke pagina hoeft online te staan. ;)
Hm, voor online apps zou ik juist een CDN oplossing adviseren.
Tijndonderdag 3 november 2011 @ 11:19
quote:
0s.gif Op donderdag 3 november 2011 11:07 schreef ursel het volgende:

[..]

Wij bouwen niets dat afhankelijk is van online libraries. :7
Niet elke pagina hoeft online te staan. ;)
Als je iets bouwt dat geen verbinding met het internet heeft, kun je zoiets als Google Chart niet gebruiken, nee. Maar dat is natuurlijk geen reden om het in andere gevallen ook niet te gebruiken.
Cue_donderdag 3 november 2011 @ 11:23
Maak nu gebruik van jpgraph

Maar nu vraag ik me af mbt sql

In mijn qry haal ik nu twee gegevens op
Een datum met daarbij het gemiddelde aantal km.

Maar er zijn ook dagen dat er niet gereden worden. Is het mogelijk dat ik dan wel de tussenliggende datums krijg zonder waarde (of waarde 0).
(om geknooi in php met de datums/maandovergangen) niet te krijgen)
urseldonderdag 3 november 2011 @ 11:23
quote:
2s.gif Op donderdag 3 november 2011 11:19 schreef Tijn het volgende:

[..]

Als je iets bouwt dat geen verbinding met het internet heeft, kun je zoiets als Google Chart niet gebruiken, nee. Maar dat is natuurlijk geen reden om het in andere gevallen ook niet te gebruiken.
Mijn reactie stond verder ook los van de rest van de discussie. :')
Voor eigen gebruik heb ik er niets aan, wat ik wel jammer vindt.

Zal eens naar de opties van Scorpie kijken. :)
quote:
0s.gif Op donderdag 3 november 2011 11:02 schreef Scorpie het volgende:

[..]

Dan pak je Sencha ExtJS, jQuery Charts, JS Plot of een ander JS plotting framework.
Scorpiedonderdag 3 november 2011 @ 11:30
quote:
0s.gif Op donderdag 3 november 2011 11:23 schreef ursel het volgende:

[..]

Mijn reactie stond verder ook los van de rest van de discussie. :')
Voor eigen gebruik heb ik er niets aan, wat ik wel jammer vindt.

Zal eens naar de opties van Scorpie kijken. :)

[..]

Dit zijn clientside-frameworks, die op JSON basis grafieken plotten. Werkt stukken beter dan de server side belasten.
Tijndonderdag 3 november 2011 @ 12:05
quote:
5s.gif Op donderdag 3 november 2011 11:23 schreef Cue_ het volgende:
Maak nu gebruik van jpgraph

Maar nu vraag ik me af mbt sql

In mijn qry haal ik nu twee gegevens op
Een datum met daarbij het gemiddelde aantal km.

Maar er zijn ook dagen dat er niet gereden worden. Is het mogelijk dat ik dan wel de tussenliggende datums krijg zonder waarde (of waarde 0).
(om geknooi in php met de datums/maandovergangen) niet te krijgen)
Ik zou in PHP een array met timestamps als key bouwen. Je kunt dan de data uit je query daarin plaatsen en voor de dagen dat je geen info hebt, blijft het dan leeg. Wanneer je timestamps gebruikt, maakt zo'n maandovergang niks uit.
Cue_donderdag 3 november 2011 @ 12:18
quote:
14s.gif Op donderdag 3 november 2011 12:05 schreef Tijn het volgende:
Ik zou in PHP een array met timestamps als key bouwen. Je kunt dan de data uit je query daarin plaatsen en voor de dagen dat je geen info hebt, blijft het dan leeg. Wanneer je timestamps gebruikt, maakt zo'n maandovergang niks uit.
Heb je soort van voorbeeld van me? Want zit dan ook met met een extra ifje erin in mijn while loop van de qry?
(als datum uit qry niet overeenkomt met de keydatum dan waarde = 0)

Want moet dan eerst alle datums liggende tussen de opgegeven begin/einddatum in een array stoppen.. en die dan weer vullen met de waardes van de qry mits de datum van de qry overenkomt met die van de array ?
Catbertdonderdag 3 november 2011 @ 12:48
Hoezo kort je query als qry af trouwens? Je spreekt query uit als kwe-rie en niet als ku-rie.
Cue_donderdag 3 november 2011 @ 13:05
quote:
0s.gif Op donderdag 3 november 2011 12:48 schreef Catbert het volgende:
Hoezo kort je query als qry af trouwens? Je spreekt query uit als kwe-rie en niet als ku-rie.
Gewend, typt wat sneller :)
Pakspuldonderdag 3 november 2011 @ 13:09
quote:
0s.gif Op donderdag 3 november 2011 12:48 schreef Catbert het volgende:
Hoezo kort je query als qry af trouwens? Je spreekt query uit als kwe-rie en niet als ku-rie.
Al j somm woord afkor dn scheel da in tiep werk :P
Tijndonderdag 3 november 2011 @ 14:09
quote:
0s.gif Op donderdag 3 november 2011 12:18 schreef Cue_ het volgende:

[..]

Want moet dan eerst alle datums liggende tussen de opgegeven begin/einddatum in een array stoppen.. en die dan weer vullen met de waardes van de qry mits de datum van de qry overenkomt met die van de array ?
Dat zou ik doen dus.

Misschien dat iemand anders een slimmere oplossing kan bedenken, maar dit werkt in elk geval wel.
Cue_donderdag 3 november 2011 @ 14:10
quote:
14s.gif Op donderdag 3 november 2011 14:09 schreef Tijn het volgende:

[..]

Dat zou ik doen dus.

Misschien dat iemand anders een slimmere oplossing kan bedenken, maar dit werkt in elk geval wel.
Ik heb inderdaad het idee door.. en ben bijna bij de uitvoering. Maar ik zit een beetje te klote met de arrays en hoe die te matchen en de verschillende loopjes..

Ooit komen we der ^O^
Cue_donderdag 3 november 2011 @ 14:25
Oke mis kan je me toch even helpen:

Array met waardes uit de query: ( array: $ga )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Array
(
    [0] => Array
        (
            [DATUM] => 20-10-2011
            [AVERAGE] => 172.33
        )

    [1] => Array
        (
            [DATUM] => 19-10-2011
            [AVERAGE] => 317
        )
)

Array met de datums: (array $d )
Array
1
2
3
4
5
6
7
8
9
(
    [0] => 17-10-2011
    [1] => 18-10-2011
    [2] => 19-10-2011
    [3] => 20-10-2011
    [4] => 21-10-2011
    [5] => 22-10-2011
    [6] => 23-10-2011
)

Dit had ik op een gegeven moment, maar dan voert ie het natuurlijk allemaal te vaak uit. Maar ik heb geen idee hoe ik kan zorgen dat hij dus voor elk in datum array ($d) de complete array $ga doorloopt en zo dus 7 waardes eruit krijg uiteindelijk. Uiteindelijk moet ik in een array dus (0, 0, 317, 172.33, 0, 0, 0,) krijgen.
1
2
3
4
5
6
7
8
9
10
11
12
13
foreach($d as $datum){

    for ($i=0; $i <= $aantal ; $i++){
    
     if ($ga[$i]['DATUM'] == $datum)
     {
        echo "av";
     }
     else {
        echo "0";
     }
 }
     } 
Scorpiedonderdag 3 november 2011 @ 14:34
in_array gebruiken om te bepalen of een datum in de opgegeven array zit.
GlowMousedonderdag 3 november 2011 @ 14:40
Bouw je array anders op:
$average[$datum] = ...;
Cue_donderdag 3 november 2011 @ 14:43
Kunnen jullie niet iets uitgebreider zijn.. want mbt arrays snap ik al wel een stuk meer dan vroeger, maar tis nog altijd 1 wazige bende soms :@
GlowMousedonderdag 3 november 2011 @ 15:13
Je hebt nu ergens:
$d[] = '...';
maak daarvan:
$d['...'] = 0;

Later kun je dan doen:
$datum[$ga['DATUM']] = $ga['AVERAGE'];
Cue_donderdag 3 november 2011 @ 16:41
@glow.. voor mijn gevoel zeg je in je twee posts nu twee verschillende dingen :?

@scorpie: dan heb ik hem gevonden. Maar hoe haal ik dan betreffende waarde eruit die bij die datum hoort?
GlowMousedonderdag 3 november 2011 @ 16:44
dan klopt je gevoel niet
Cue_donderdag 3 november 2011 @ 16:48
Goh,... fijn dat je het dan ook even uit wil leggen

Heb al wat gevonden. tnx Scorpie :D
ikke_ookdonderdag 3 november 2011 @ 22:44
quote:
0s.gif Op woensdag 2 november 2011 22:53 schreef GlowMouse het volgende:
Dat werkt niet. Dit is de oplossing.

[..]

Daar kwam ik het weekend niet uit, maar dan zal ik er nog eens een keer naar kijken. En anders bekijken of het met losse queries lukt...
Ikbenmijnwachtwoordkwijtvrijdag 4 november 2011 @ 10:36
Ik probeer iets te maken met PHP/SQL, en ik heb hulp nodig.

Ik haal nu bepaalde Twitter gegevens op, en daarmee genereer ik forms.
Dat ziet er dan zo uit:

LYT76.png
etc.

Zoals je ziet staat er onder elke form een Verzenden knop.

Wat ik nu wil maken is dat er maar 1 verzenden knop is, en dat die álle formgegevens op de juiste plek in de database zet.

Is hier een manier voor?

Hier is de code die ik gebruik:

http://pastebin.com/CkYrtsTy

Dank.
KomtTijd...vrijdag 4 november 2011 @ 10:37
Zet allen inputs in één form?
mstxvrijdag 4 november 2011 @ 10:39
quote:
3s.gif Op vrijdag 4 november 2011 10:37 schreef KomtTijd... het volgende:
Zet allen inputs in één form?
Dat. En dan van de namen van de velden arrays maken (<input name="content[]">). Bij het afhandelen kun je dan door $_POST['content'] loopen en de bijbehorende velden met dezelfde keys ophalen.
GIvrijdag 4 november 2011 @ 10:39
Bouw je formulier op met de [] bij de namen, je moet dan alleen wel goed de $_POST daarna doorlopen om te zorgen dat je de juiste gegevens bij elkaar plakt.
Sitethiefvrijdag 4 november 2011 @ 11:27
Heeft iemand ervaring met ftp_connect() ? Hij doet het niet, maar ik krijg ook geen foutmelding waar ik iets mee kan. Het maakt ook niet uit of ik wel of niet poort 21 defineer als poort. De FTP server waarmee ik connect doet het wel via Firefox en Filezilla (op dezelfde machine), maar via php gewoon weg niet... terwijl ftp wel gewoon aan staat in phpinfo(). Het zou evt kunnen dat firewall van de machine de boel blokkeert, helaas heb ik geen rechten omdat te wijzigen cq controleren. Maar is het ook mogelijk dat de FTP server deze connectie niet accepteert?
Ikbenmijnwachtwoordkwijtvrijdag 4 november 2011 @ 11:34
quote:
3s.gif Op vrijdag 4 november 2011 10:37 schreef KomtTijd... het volgende:
Zet allen inputs in één form?
quote:
0s.gif Op vrijdag 4 november 2011 10:39 schreef mstx het volgende:

[..]

Dat. En dan van de namen van de velden arrays maken (<input name="content[]">). Bij het afhandelen kun je dan door $_POST['content'] loopen en de bijbehorende velden met dezelfde keys ophalen.
quote:
3s.gif Op vrijdag 4 november 2011 10:39 schreef GI het volgende:
Bouw je formulier op met de [] bij de namen, je moet dan alleen wel goed de $_POST daarna doorlopen om te zorgen dat je de juiste gegevens bij elkaar plakt.
Dank jullie, dit was eigenlijk heel simpel! Ik reageer zo laat omdat ik natuurlijk meteen doorging ;)
GlowMousevrijdag 4 november 2011 @ 13:27
quote:
0s.gif Op vrijdag 4 november 2011 11:27 schreef Sitethief het volgende:
Heeft iemand ervaring met ftp_connect() ? Hij doet het niet, maar ik krijg ook geen foutmelding waar ik iets mee kan. Het maakt ook niet uit of ik wel of niet poort 21 defineer als poort. De FTP server waarmee ik connect doet het wel via Firefox en Filezilla (op dezelfde machine)
Dezelfde machine als PHP?
Een firewall op de php-server lijkt mij het meest waarschijnlijk. Je hoort hoe dan ook een melding of een returnwaarde te krijgen als ftp_connect faalt.
Chanty87vrijdag 4 november 2011 @ 13:47
:W Noob hier. Ik ben bezig met een revamp van mijn wallpaper-site, welke momenteel nog handmatig wordt geüpdatet. Nu wil ik de hele boel in Wordpress flikkeren en uitlezen en dat is me ook gelukt. Althans, de overzichtsweergave van de wallpaper thumbnails met het aantal wallpapers erboven.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
function countWallpapers() {
    
$args = array(
        
'child_of' => $post->ID,
        
'title_li' => '',
        
'sort_order' => 'DESC',
        
'sort_column' => 'menu_order'
    
);

    
$wallpapers get_pages($args);
    
$count 0;
        
    foreach(
$wallpapers as $wallpaper){
        if(
has_post_thumbnail($wallpaper->ID)) {
            
$count++;
        }
    }
    echo 
$count;
}

function 
showWallpapers() {
    
$args = array(
        
'child_of' => $post->ID,
        
'title_li' => '',
        
'sort_order' => 'DESC',
        
'sort_column' => 'menu_order'
    
);

    
$wallpapers get_pages($args);
    
$output '';
        
    foreach(
$wallpapers as $wallpaper){
        if(
has_post_thumbnail($wallpaper->ID)) {
            
$thumb get_the_post_thumbnail($wallpaper->ID'thumbnail'$attr 'title='.$wallpaper->post_title);
            
$link get_page_link($wallpaper->ID);

            
$output .= '<div class="wallpaper">' "\n";
            
$output .= '<a href="' $link '" title="' $wallpaper->post_title '">' $thumb '</a>' "\n";
            
$output .= '</div>' "\n\n";
        }
    }
    echo 
$output;
}
?>

Ziehier twee functies met eigenlijk dezelfde opbouw. Wat ik probeerde te bereiken was het uitlezen van de wallpapers en er een functie van maken zodat het makkelijk aan te roepen was vanuit een template (bovenstaande code staat namelijk apart in functions.php). Daarnaast wilde ik ook het aantal wallpapers erboven weergeven, dus een loopcount moest erbij en ook in een functie zodat ik het overal in de template netjes kon aanroepen. Helaas lukte het, ondanks veel trial & error, me niet om allebei de functies in/bij elkaar te houden aangezien het alleen in volgorde (eerst wallpapers, daarachter de count of alleen de count en geen wallpapers) werd weergegeven en dus niet flexibel was. Het werkt nu wel zoals het hoort, maar ik heb zo'n idee dat het compacter en "netter" kan.

Graag verbeter ik m'n code dus als iemand een suggestie heeft voor een nettere oplossing zou ik dat natuurlijk graag willen weten :s)
GlowMousevrijdag 4 november 2011 @ 13:50
hoe ziet dat aanroepen in een template eruit?
Chanty87vrijdag 4 november 2011 @ 14:12
1
2
3
4
<div class="entry-content">
    <p class="amount"><?php countWallpapers(); ?> wallpapers</p>
    <?php showWallpapers(); ?>
</div><!-- .entry-content -->
GlowMousevrijdag 4 november 2011 @ 14:22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
function getWallpaperdata() {
    
$args = array(
        
'child_of' => $post->ID,
        
'title_li' => '',
        
'sort_order' => 'DESC',
        
'sort_column' => 'menu_order'
    
);

    
$wallpapers get_pages($args);
    
$count 0;
    
$output '';
        
    foreach(
$wallpapers as $wallpaper){
        if(
has_post_thumbnail($wallpaper->ID)) {
            
$count++;
            
$thumb get_the_post_thumbnail($wallpaper->ID'thumbnail'$attr 'title='.$wallpaper->post_title);
            
$link get_page_link($wallpaper->ID);

            
$output .= '<div class="wallpaper">' "\n";
            
$output .= '<a href="' $link '" title="' $wallpaper->post_title '">' $thumb '</a>' "\n";
            
$output .= '</div>' "\n\n";
        }
    }
    return array(
'count' => $count'html' => $output);
}
?>
1
2
3
4
<div class="entry-content">
    <p class="amount"><?php $wallpapers getWallpaperdata(); echo $wallpapers['count']; ?> wallpapers</p>
    <?php echo $wallpapers['html']; ?>
</div><!-- .entry-content -->
en opletten dat je in die foreach-loop niet de lelijkste queries uitvoert via get_the_post_thumbnail of get_page_link.
Scorpievrijdag 4 november 2011 @ 14:25
quote:
0s.gif Op vrijdag 4 november 2011 14:22 schreef GlowMouse het volgende:

[ code verwijderd ]

[ code verwijderd ]

en opletten dat je in die foreach-loop niet de lelijkste queries uitvoert via get_the_post_thumbnail of get_page_link.
Die methodes zijn volgens mij best wel zwaar, daar valt wel wat winst te behalen denk.
Chanty87vrijdag 4 november 2011 @ 14:50
quote:
0s.gif Op vrijdag 4 november 2011 14:22 schreef GlowMouse het volgende:

[ code verwijderd ]

[ code verwijderd ]

en opletten dat je in die foreach-loop niet de lelijkste queries uitvoert via get_the_post_thumbnail of get_page_link.
Thanks ^O^ De values in een array gooien dus. Is het überhaupt mogelijk om aparte functies te maken van 2 values binnen een functie? Denk van niet aangezien mijn geGoogle niks opleverde maar ik vraag het toch even :@

Wat bedoel je precies met het laatste? De foreach loop had ik als snippet ergens vandaan geplukt, is hoewel ik ook een voorbeeld met add_filter zag. Zitten daar bepaalde (grote) voordelen aan tov get_the_post_thumbnail?
Scorpievrijdag 4 november 2011 @ 14:54
quote:
14s.gif Op vrijdag 4 november 2011 14:50 schreef Chanty87 het volgende:

[..]

Thanks ^O^ De values in een array gooien dus. Is het überhaupt mogelijk om aparte functies te maken van 2 values binnen een functie? Denk van niet aangezien mijn geGoogle niks opleverde maar ik vraag het toch even :@
Functies van values maken snap ik niet helemaal?

quote:
Wat bedoel je precies met het laatste? De foreach loop had ik als snippet ergens vandaan geplukt, is hoewel ik ook een voorbeeld met add_filter zag. Zitten daar bepaalde (grote) voordelen aan tov get_the_post_thumbnail?
De methodes die je daar aanroept kunnen potentieel 'zwaar' zijn, dat wil zeggen dat ze lang duren, veel resources vreten of onnodig werk verrichten.
Chanty87vrijdag 4 november 2011 @ 15:08
quote:
0s.gif Op vrijdag 4 november 2011 14:54 schreef Scorpie het volgende:

[..]

Functies van values maken snap ik niet helemaal?
Zodat ik het ~netjes~ kan oproepen zoals ik eerst had gedaan :s)

quote:
0s.gif Op vrijdag 4 november 2011 14:54 schreef Scorpie het volgende:
[..]

De methodes die je daar aanroept kunnen potentieel 'zwaar' zijn, dat wil zeggen dat ze lang duren, veel resources vreten of onnodig werk verrichten.
Ah zo. :) Dacht juist dat je met get_the_post_thumbnail meteen de thumb als resultaat krijgt zonder de hele post aan te roepen en de thumbnail eruit te vissen. Blijkbaar is het andersom dan?
KomtTijd...vrijdag 4 november 2011 @ 15:13
quote:
0s.gif Op vrijdag 4 november 2011 15:08 schreef Chanty87 het volgende:

[..]

Zodat ik het ~netjes~ kan oproepen zoals ik eerst had gedaan :s)

Niemand weerhoudt je ervan die code die GlowMouse inline zet, in een aparte functie te douwen.

weleens van smarty gehoord trouwens?
GlowMousevrijdag 4 november 2011 @ 15:17
quote:
0s.gif Op vrijdag 4 november 2011 15:13 schreef KomtTijd... het volgende:

[..]
weleens van smarty gehoord trouwens?
ik wil, onding
Scorpievrijdag 4 november 2011 @ 15:23
quote:
0s.gif Op vrijdag 4 november 2011 15:08 schreef Chanty87 het volgende:

[..]

Zodat ik het ~netjes~ kan oproepen zoals ik eerst had gedaan :s)

Wat Glow heeft gedaan is het mooiste imo.

quote:
Ah zo. :) Dacht juist dat je met get_the_post_thumbnail meteen de thumb als resultaat krijgt zonder de hele post aan te roepen en de thumbnail eruit te vissen. Blijkbaar is het andersom dan?
Geen idee wat daar in gebeurt, het is een custom functie die we niet in kunnen zien, aan jou de schone taak dat uit te zoeken :)
Chanty87vrijdag 4 november 2011 @ 15:33
quote:
0s.gif Op vrijdag 4 november 2011 15:23 schreef Scorpie het volgende:

[..]

Wat Glow heeft gedaan is het mooiste imo.
Ik had al eerder (zonder succes dus) geprobeerd om functies van die values te maken maar dan zou je de values vanuit getWallpaperdata(); moeten halen en daarbuiten in een eigen functie zetten. Want als ik de functies IN getWallpaperdata(); zet dan moet eerst getWallpaperdata(); zelf aangeroepen zijn anders bestaan de nieuwe functies niet.

Van Smarty had ik nog niet gehoord trouwens.

quote:
0s.gif Op vrijdag 4 november 2011 15:23 schreef Scorpie het volgende:
[..]

Geen idee wat daar in gebeurt, het is een custom functie die we niet in kunnen zien, aan jou de schone taak dat uit te zoeken :)
get_the_post_thumbnail is een Wordpress core functie, ziet er zo uit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function get_the_post_thumbnail$post_id null$size 'post-thumbnail'$attr '' ) {
        
$post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
        
$post_thumbnail_id get_post_thumbnail_id$post_id );
        
$size apply_filters'post_thumbnail_size'$size );
        if ( 
$post_thumbnail_id ) {
                
do_action'begin_fetch_post_thumbnail_html'$post_id$post_thumbnail_id$size ); // for "Just In Time" filtering of all of wp_get_attachment_image()'s filters
                
if ( in_the_loop() )
                        
update_post_thumbnail_cache();
                
$html wp_get_attachment_image$post_thumbnail_id$sizefalse$attr );
                
do_action'end_fetch_post_thumbnail_html'$post_id$post_thumbnail_id$size );
        } else {
                
$html '';
        }
        return 
apply_filters'post_thumbnail_html'$html$post_id$post_thumbnail_id$size$attr );
}
?>

In principe niet zo heel spannend van wat ik zie... Nouja, in ieder geval thanks voor de hulp en info, ik kan er in ieder geval wat mee ^O^
cablegunmasterzaterdag 5 november 2011 @ 03:00
Ik probeer nu iets uit en ik loop een beetje vast.

Wat ik probeer te doen is door middel van een Onchange op een Select button, het gegeven ervan gebruiken in een functie die ernaast staat. (Soort van Ajax achtig idee.) Maar, ik loop ergens op vast.

Kortom:
Een maand Waarde uit Select button -> Jquery -> Php -> Terug op het scherm. (zonder pagina herladen).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
// Jquery.

    
$('#maand_gegeven').change(function(){
        
alert($('#maand_gegeven').attr('value'));
        $.
post("index.php", {
            
maand : $('#maand_gegeven').attr('value'),
            
jaar  : $('#jaar_gegeven').attr('value')
        });
    });

//html
<select name='maand' id='maand_gegeven' style='width:150px;'>
    <
option value='1'>Januari</option>
</
select>
?>

Alert op javascript gaf me mooi een melding met het cijfer dat ik nodig had. alleen verder doet het niet echt veel. Het zou uiteindelijk op een $_POST uitkomen die het verder moet verwerken, om het vervolgens weer op het scherm te laten tonen. Iemand die me kan helpen :)?
* cablegunmaster denkt dat het vastloopt op de $_POST dat die actie niet gebeurt.
Lightzaterdag 5 november 2011 @ 06:47
1
2
3
4
5
6
7
8
9
10
11
    $('#maand_gegeven').change(function(){
        alert($('#maand_gegeven').val());
        $.post("index.php", {
            maand : $('#maand_gegeven').val(),
            jaar  : $('#jaar_gegeven').val()
        },
        function(data){
            alert('succes!');
            // doe iets nuttigs met data
        });
    });
En als je $.ajax() gebruikt, kun je ook een functie opgeven die moet afgaan als er een error is.

Verder kun je met de juiste tools (oa Firebug, of de ingebouwde developertools in Safari en Chrome) zien welke requests er gebeuren en welke antwoorden er door de server worden teruggestuurd. Anders moet je maar gokken wat er daadwerkelijk terug komt, en da's lastig met debuggen.

Verder heb ik geen idee wat je in php doet om te zien of je een POST of GET afhandelt, en wat je dan doet in die POST afhandeling.
cablegunmasterzaterdag 5 november 2011 @ 14:04
quote:
0s.gif Op zaterdag 5 november 2011 06:47 schreef Light het volgende:

[ code verwijderd ]

En als je $.ajax() gebruikt, kun je ook een functie opgeven die moet afgaan als er een error is.

Verder kun je met de juiste tools (oa Firebug, of de ingebouwde developertools in Safari en Chrome) zien welke requests er gebeuren en welke antwoorden er door de server worden teruggestuurd. Anders moet je maar gokken wat er daadwerkelijk terug komt, en da's lastig met debuggen.

Verder heb ik geen idee wat je in php doet om te zien of je een POST of GET afhandelt, en wat je dan doet in die POST afhandeling.
Om te testen had ik een echo var_dump($_POST); op de pagina gemaakt.
maar deze wil zich niet tonen op de pagina. wat er gebeurd is niet meer dan een query die nu al succesvol wordt weergegeven. Enige verschil is limitatie op maand of jaar.
Ik wou het zonder submit knop proberen, alleen $_POST werkt niet mee.

[ Bericht 8% gewijzigd door cablegunmaster op 05-11-2011 14:09:54 ]
Lightzaterdag 5 november 2011 @ 14:12
Het resultaat van die var_dump() wordt niet vanzelf getoond, daar moet je moeite voor doen. Vandaar ook mijn tip om Firebug (of iets vergelijkbaars voor je browser) te gebruiken, dan kun je precies zien wat er teruggestuurd wordt naar de browser.
cablegunmasterzaterdag 5 november 2011 @ 14:19
quote:
0s.gif Op zaterdag 5 november 2011 14:12 schreef Light het volgende:
Het resultaat van die var_dump() wordt niet vanzelf getoond, daar moet je moeite voor doen. Vandaar ook mijn tip om Firebug (of iets vergelijkbaars voor je browser) te gebruiken, dan kun je precies zien wat er teruggestuurd wordt naar de browser.
Dit is mijn eerste keer dat ik het zo aanpak , ik heb firebug; maar snap niet waar ik moet kijken in firebug zelf.

ok breakpoints gevonden in Firebug :9 .
Nu nog leren debuggen. :P
het is gelukt :).

1
2
3
4
5
6
7
8
9
10
11
12
<?php
    
$('#maand_gegeven').change(function(){
        
alert($('#maand_gegeven').val());
        $.
post("index.php?action=totalen", {
            
maand : $('#maand_gegeven').val(),
            
jaar  : $('#jaar_gegeven').val()
        },
        function(
data){
            $(
"#wrapper").html(data);
        });
    });
?>
Blijkbaar moest ik de goede ID pakken om de hele pagina te laden. :). Werkt goed.

[ Bericht 36% gewijzigd door cablegunmaster op 05-11-2011 15:00:55 ]
cablegunmasterzondag 6 november 2011 @ 05:23
Ik heb het nu voor elkaar gekregen dat ipv de hele pagina alleen dat ene stukje herlaad door de PHP te isoleren in een apart bestand en dat aan te roepen.

Voordeel: alleen de module verandert ipv de hele pagina die in de URL staat.
Nadeel: uitvogelen dat hij alle includes ook nodig heeft + de Javascript urls in het Aanroepende bestand. Dus opnieuw alle Jquery includen. (includes zijn dus alle customfuncties + DB connectie + $_POST afhandelingen. ) De reden dat ik de Javascript opnieuw include is omdat je anders het maar een enkele keer kan uitvoeren.

Wat deze functie doet -> Hij pakt een select veld dat ik een ID met #maand_gegeven heeft. Als deze verandert dan zal hij ajax_include.php?totaal aanroepen en 2 variabelen posten.
vervolgens include hij het bestand wat nodig is voor de weergave en past alles aan met de $_POST['maand'] en $_POST['jaar'] voert alle functies uit en laat het weer zien in ID #totaal

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//html
<select name='maand' id='maand_gegeven' style='width:150px;'>
    <option value='1'>Januari</option>
</select>
//maincms.js
    $('#maand_gegeven').change(function(){
        $.post("ajax_include.php?totaal", {
            maand : $('#maand_gegeven').val(),
            jaar  : $('#jaar_gegeven').val()
        },
        function(data){
            $("#totalen").html(data);
        });
    });

// Ajax_include.php
    <script src="js/jquery-1.6.3.min.js" type="text/javascript"></script>
        <script src="js/maincms.js" type="text/javascript"></script>
<?php
    
include("includes.php");
/**
    File to include modules for Ajax.
    Only the files who are called from Jquery are found here.
*/
    
if(isset($_GET['totaal']))
    {
        include(
"./forms/overzicht_jaar_maand.php");
    }
?>

Even kort samengevat:
Een functie die kijkt naar een SELECT input veld en deze verandert als de waarde verandert. (met behulp van Jquery.) Vervolgens $_POST aanroept op ajax_include.php welk alle includes nodig heeft + javascript om een 2e verandering te zien. Deze verandering wordt hier opgevangen met een $_GET['totaal'] en er is zichtbaar een nieuwe pagina ingeladen. :P

Reden dat ik dit plaats, geen makkelijkere manier? doe ik het omslachtig? Of is dit de enige manier om een Inhoud te veranderen op 1 plek :D.

[ Bericht 1% gewijzigd door cablegunmaster op 06-11-2011 06:11:45 ]
GlowMousezondag 6 november 2011 @ 10:19
quote:
0s.gif Op zondag 6 november 2011 05:23 schreef cablegunmaster het volgende:
De reden dat ik de Javascript opnieuw include is omdat je anders het maar een enkele keer kan uitvoeren.
;(
cablegunmasterzondag 6 november 2011 @ 15:18
quote:
0s.gif Op zondag 6 november 2011 10:19 schreef GlowMouse het volgende:

;(
Zonder deed hij het niet als ik het de eerste keer aanpaste.
GlowMousezondag 6 november 2011 @ 15:20
dan roep je na $("#totalen").html(data); de relevante functies in je javascriptfile aan, die ook aangeroepen worden als je pagina voor het eerst geladen is
cablegunmasterzondag 6 november 2011 @ 15:27
quote:
0s.gif Op zondag 6 november 2011 15:20 schreef GlowMouse het volgende:
dan roep je na $("#totalen").html(data); de relevante functies in je javascriptfile aan, die ook aangeroepen worden als je pagina voor het eerst geladen is
Nou kijk het probleem is als volgt;
1
2
3
4
5
6
7
8
9
10
11
<?php
    
$('#maand_gegeven').change(function(){
        $.
post("ajax_include.php?totaal", {
            
maand : $('#maand_gegeven').val(),
            
jaar  : $('#jaar_gegeven').val()
        },
        function(
data){
            $(
"#totalen").html(data);
        });
    });
?>
Dit bovenste stukje werkt een enkele keer als ik het via index.php uitvoer en vervolgens landt dat in ajax_include.php?totaal en daar zit geen include in. ik krijg het idee dan dat ID #totalen op een totale andere pagina zit dit niet reageert op index.php wat het oorspronkelijke script op de pagina was. Daarom heb ik het opnieuw geinclude.
GlowMousezondag 6 november 2011 @ 15:52
Dat komt denk ik omdat je de select met id maand_gegeven onderdeel is van de div met id totalen. Je krijgt dan een nieuw element, en daar moet je opnieuw een change-event aan binden.
cablegunmasterzondag 6 november 2011 @ 16:06
Dit wetende zou ik dan eigenlijk in de Select Onchange="veranderWaarde(this.id)"
en dan een functie van mijn javascript maken van wat ik al heb?
Zou dit het probleem oplossen?
Even proberen :P
GlowMousezondag 6 november 2011 @ 16:07
Dat. Of .live ipv .change gebruiken. Of die .change opnieuw uitvoeren na de .html(data);
MrNilesmaandag 7 november 2011 @ 11:51
als ik deze code heb om een item te verwijderen

1
2
3
<?php
echo "<a href=\"includes/admin/verwijderen_optreden.php?id=".$array['O_id']."\">Verwijderen </a>";
?>

wat moet ik veranderen zodat de tekst een image wordt?
waarschijnlijk met zoiets
1
2
3
<?php
<img src="http://myimglink.com/img.png\" border=0>
?>

maar ik krijg unexpected T_LNUMBER
remi1986maandag 7 november 2011 @ 11:54
quote:
0s.gif Op maandag 7 november 2011 11:51 schreef MrNiles het volgende:
als ik deze code heb om een item te verwijderen
[ code verwijderd ]

wat moet ik veranderen zodat de tekst een image wordt?
waarschijnlijk met zoiets
[ code verwijderd ]

maar ik krijg unexpected T_LNUMBER
<a href=\"includes/admin/verwijderen_optreden.php?id=".$array['O_id']."\"><img src="http://myimglink.com/img.png\" border=0></a> ?
Scorpiemaandag 7 november 2011 @ 11:55
1
2
3
<?php
"<img src=\"http://myimglink.com/img.png\" border=\"0\" onclick=javascript:doSomething();>";
?>

Even uit de losse pols.
mstxmaandag 7 november 2011 @ 11:55
quote:
0s.gif Op maandag 7 november 2011 11:54 schreef remi1986 het volgende:

[..]

<a href=\"includes/admin/verwijderen_optreden.php?id=".$array['O_id']."\"><img src="http://myimglink.com/img.png\" border=0></a> ?
Maar dan nog een extra \ bij src=".
vlam12maandag 7 november 2011 @ 12:08
Beginners vraagje :P !
Ik moet de uitvoer hieronder krijgen, en mag alleen een while lus gebruiken.
Iemand tips?

0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
GlowMousemaandag 7 november 2011 @ 12:11
1
2
3
4
5
6
7
8
9
10
11
12
<?php
echo '0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789'
;
?>
vlam12maandag 7 november 2011 @ 12:36
quote:
14s.gif Op maandag 7 november 2011 12:11 schreef GlowMouse het volgende:

[ code verwijderd ]

ja, maar hoe doe je dat met een while lus?
GlowMousemaandag 7 november 2011 @ 12:37
quote:
0s.gif Op maandag 7 november 2011 12:36 schreef vlam12 het volgende:

[..]

ja, maar hoe doe je dat met een while lus?
zet er een while omheen en zorg dat hij 1x uitgevoerd wordt, of kom met wat eleganters voor je huiswerk
Pakspulmaandag 7 november 2011 @ 12:53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php 

    $i 
1;
    
    while ( 
$i != 11 )
    {
        
$j 0;
        while ( 
$j != $i )
        {
            echo 
$j;
            
$j++;
        }
        
        echo 
"<br />";
        
        
$i++;
    }

?>
Huiswerk af, snel naar de coffee shop voordat je handen gaan trillen *O*
Pizzaluchtmaandag 7 november 2011 @ 12:54
quote:
0s.gif Op maandag 7 november 2011 12:53 schreef Pakspul het volgende:

[ code verwijderd ]

Huiswerk af, snel naar de coffee shop voordat je handen gaan trillen *O*
Ninja'd :(
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php 
  $max = 9;
  $loop = 0;
  while($loop <= $max)
  {
    $loop2 = 0;
    while($loop2 <= $loop)
    {
      echo $loop2;
      $loop2++;
    }
    echo "<br/>";
    $loop++;
  }
?>

Dit kan natuurlijk ook:

1
2
3
4
5
6
7
8
9
<?php 
  $count = 0;
  $total = '0123456789';
  while($count <= 9)
  {
    $count++;
    echo substr($total, 0, $count)."<br/>";
  }
?>


[ Bericht 16% gewijzigd door Pizzalucht op 07-11-2011 13:01:10 ]
Scorpiemaandag 7 november 2011 @ 13:00
quote:
0s.gif Op maandag 7 november 2011 12:53 schreef Pakspul het volgende:

[ code verwijderd ]

Huiswerk af, snel naar de coffee shop voordat je handen gaan trillen *O*
Brrrrrrr. Dat kan netter.
Scorpiemaandag 7 november 2011 @ 13:04
1
2
3
4
5
6
7
8
9
<?php
$str
;
$i=0;
while(
$i<10){
  
$str $str.$i;
  echo 
$str;
  
$i++;
}
?>

Niet gecheckt, gotta run
vlam12maandag 7 november 2011 @ 13:10
wow! hoe zien jullie zo snel wat de oplossing is?
Diaboxmaandag 7 november 2011 @ 13:21
quote:
0s.gif Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Ik vind het ook bijzonder knap van ze.
Luchtkokermaandag 7 november 2011 @ 13:22
quote:
0s.gif Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Door ook maar een klein beetje programmeerinzicht te hebben?
Pakspulmaandag 7 november 2011 @ 13:23
quote:
0s.gif Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Inzicht, weten hoe je er door heen moet lopen + ervaring.
quote:
0s.gif Op maandag 7 november 2011 13:00 schreef Scorpie het volgende:

[..]

Brrrrrrr. Dat kan netter.
Kan netter ja, maar kan ook nog velen malen uitgebreider :P

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php 

    
class ArrayList
    
{
        private 
$_Index = -1;
        private 
$_InnerList;
        
        public function 
Add($value)
        {
            
$this->_InnerList[] = $value;
        }
        
        public function 
Count()
        {
            return 
count($this->_InnerList);
        }
        
        public function 
Read()
        {
            
$this->_Index++;
            
            if ( 
$this->_Index == $this->Count() )
            {
                return 
false;
            }
            
            return 
true;
        }
        
        public function 
Item()
        {
            if ( 
$this->_Index )
            {
                throw new 
Exception('List not started reading.');
            }
            
            return 
$this->_InnerList[$this->_Index];
        }
    }

    
$lineList = new ArrayList();
    while ( 
$lineList->Count() != 10 )
    {
        
$numberList = new ArrayList();
        while ( 
$numberList->Count() != ($lineList->Count() + 1) )
        {
            
$numberList->Add($numberList->Count());
        }
        
        
$lineList->Add($numberList);
    }

    while ( 
$lineList->Read() )
    {
        
$numberList $lineList->Item();
        
        while ( 
$numberList->Read() )
        {
            echo 
$numberList->Item();
        }
        
        echo 
"<br />";
    }
?>

Als het je huiswerk is, lever dit in :P
Luchtkokermaandag 7 november 2011 @ 13:26
quote:
0s.gif Op maandag 7 november 2011 13:23 schreef Pakspul het volgende:

[..]

Inzicht, weten hoe je er door heen moet lopen + ervaring.

[..]

Kan netter ja, maar kan ook nog velen malen uitgebreider :P
[ code verwijderd ]

Als het je huiswerk is, lever dit in :P
Dat kan uitgebreider, je kan bijv $lineList->Count()+1 ook weer in een aparte functie stoppen.
GlowMousemaandag 7 november 2011 @ 13:28
jullie zijn bekend met de iterator? http://php.net/manual/en/class.iterator.php
Pakspulmaandag 7 november 2011 @ 13:32
quote:
1s.gif Op maandag 7 november 2011 13:26 schreef Luchtkoker het volgende:

[..]

Dat kan uitgebreider, je kan bijv $lineList->Count()+1 ook weer in een aparte functie stoppen.
Nee, want dat heeft geen nut voor dit verhaal. Je gebruikt het alleen hier en de class zou je overal weer kunnen gebruiken (beetje OO denken).
quote:
14s.gif Op maandag 7 november 2011 13:28 schreef GlowMouse het volgende:
jullie zijn bekend met de iterator? http://php.net/manual/en/class.iterator.php
Kun je heel mooi gebruiken voor lijsten zo te zien?
Luchtkokermaandag 7 november 2011 @ 13:34
quote:
0s.gif Op maandag 7 november 2011 13:32 schreef Pakspul het volgende:

[..]

Nee, want dat heeft geen nut voor dit verhaal. Je gebruikt het alleen hier en de class zou je overal weer kunnen gebruiken (beetje OO denken).
Daar ging het niet om, voor dit verhaal heeft het ook weinig nut om allemaal classes te gaan gebruiken etc, het ging erom dat het uitgebreider kon.
Pakspulmaandag 7 november 2011 @ 13:35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php 

    
class Console
    
{
        private static 
$newLine "<br />";
        
        public static function 
Write($value)
        {
            echo 
$value;
        }
        
        public static function 
WriteLine($value "")
        {
            echo 
$value;
            
            echo 
self::$newLine;
        }
    }

    class 
ArrayList
    
{
        private 
$_Index = -1;
        private 
$_InnerList;
        
        public function 
Add($value)
        {
            
$this->_InnerList[] = $value;
        }
        
        public function 
Count()
        {
            return 
count($this->_InnerList);
        }
        
        public function 
Read()
        {
            
$this->_Index++;
            
            if ( 
$this->_Index == $this->Count() )
            {
                return 
false;
            }
            
            return 
true;
        }
        
        public function 
Item()
        {
            if ( 
$this->_Index )
            {
                throw new 
Exception('List not started reading.');
            }
            
            return 
$this->_InnerList[$this->_Index];
        }
    }

    
$lineList = new ArrayList();
    while ( 
$lineList->Count() != 10 )
    {
        
$numberList = new ArrayList();
        while ( 
$numberList->Count() != ($lineList->Count() + 1) )
        {
            
$numberList->Add($numberList->Count());
        }
        
        
$lineList->Add($numberList);
    }

    while ( 
$lineList->Read() )
    {
        
$numberList $lineList->Item();
        
        while ( 
$numberList->Read() )
        {
            
Console::Write($numberList->Item());
        }
        
        
Console::WriteLine();
    }
    
?>

:P
Pakspulmaandag 7 november 2011 @ 13:36
quote:
1s.gif Op maandag 7 november 2011 13:34 schreef Luchtkoker het volgende:

[..]

Daar ging het niet om, voor dit verhaal heeft het ook weinig nut om allemaal classes te gaan gebruiken etc, het ging erom dat het uitgebreider kon.
Nee, sorry ik vind het geen optie :P
Diaboxmaandag 7 november 2011 @ 13:37
quote:
0s.gif Op maandag 7 november 2011 13:35 schreef Pakspul het volgende:

[ code verwijderd ]

:P
:')!
Tijnmaandag 7 november 2011 @ 13:47
quote:
0s.gif Op maandag 7 november 2011 13:00 schreef Scorpie het volgende:

[..]

Brrrrrrr. Dat kan netter.
Wat is er niet netjes aan dan?
Scorpiemaandag 7 november 2011 @ 14:47
quote:
5s.gif Op maandag 7 november 2011 13:47 schreef Tijn het volgende:

[..]

Wat is er niet netjes aan dan?
Een onnodige loop.
Pakspulmaandag 7 november 2011 @ 15:01
quote:
0s.gif Op maandag 7 november 2011 14:47 schreef Scorpie het volgende:

[..]

Een onnodige loop.
Als het om een bullshit opdracht gaat dan kun je nooit teveel onnodige loops hebben :P
Tijnmaandag 7 november 2011 @ 15:41
quote:
0s.gif Op maandag 7 november 2011 13:10 schreef vlam12 het volgende:
wow! hoe zien jullie zo snel wat de oplossing is?
Het is geen kwestie van "de oplossing zien", het is een kwestie van een oplossing bedenken. Het is geen geheim waar je achter moet zien te komen ofzo, je moet gewoon verzinnen wat je voor instructies zou moeten geven om de gewenste output te krijgen. En aangezien het niet zo'n moeilijk probleem is, duurt het dus ook niet erg lang voordat je een geschikte oplossing hebt verzonnen.
Scorpiemaandag 7 november 2011 @ 16:07
quote:
0s.gif Op maandag 7 november 2011 15:01 schreef Pakspul het volgende:

[..]

Als het om een bullshit opdracht gaat dan kun je nooit teveel onnodige loops hebben :P
Ik had denk ik een while(true) gebruikt icm met een for en een for each loop, gewoon, om hem te stangen.
GlowMousemaandag 7 november 2011 @ 16:10
Kortste code?
1
2
3
4
5
<?php
foreach(range(1,9) as $i) {
    echo 
implode(range(1,$i))."\r\n";
}
?>
Pakspulmaandag 7 november 2011 @ 16:12
quote:
0s.gif Op maandag 7 november 2011 16:07 schreef Scorpie het volgende:

[..]

Ik had denk ik een while(true) gebruikt icm met een for en een for each loop, gewoon, om hem te stangen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php

    $res 
= array(
        
'0',
        
'01',
        
'012',
        
'0123',
        
'01234',
        
'012345',
        
'0123456',
        
'01234567',
        
'012345678',
        
'0123456789',
    );

    foreach (
$res as $value)
    {
        echo 
$value "<br />";
    }

    
// of!
    
echo current($res);
    while (
$value next($res) )
    {
        echo 
$value "<br />";
    }

?>

Hoera voor de kut oplossingen! :P
The_Terminatormaandag 7 november 2011 @ 16:12
quote:
0s.gif Op maandag 7 november 2011 15:01 schreef Pakspul het volgende:

[..]

Als het om een bullshit opdracht gaat dan kun je nooit teveel onnodige loops hebben :P
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<?php 
$i 
0;
while(
$i != 123456790) {
    switch(
$i) {
        case 
0:
            echo 
$i "\n";
            break;
        case 
1:
            echo 
'0' $i "\n";
            break;
        case 
12:
            echo 
'0' $i "\n";
            break;
        case 
123:
            echo 
'0' $i "\n";
            break;
        case 
1234:
            echo 
'0' $i "\n";
            break;
        case 
12345:
            echo 
'0' $i "\n";
            break;
        case 
123456:
            echo 
'0' $i "\n";
            break;
        case 
1234567:
            echo 
'0' $i "\n";
            break;
        case 
12345678:
            echo 
'0' $i "\n";
            break;
        case 
123456789:
            echo 
'0' $i "\n";
            break;                                                
    }

    
$i++;
}
?>

Na ongeveer een minuut is de output:
1
2
3
4
5
6
7
8
9
10
0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
Pakspulmaandag 7 november 2011 @ 16:13
quote:
14s.gif Op maandag 7 november 2011 16:10 schreef GlowMouse het volgende:
Kortste code?
[ code verwijderd ]

Vrouwen score je niet met klein dingen :{w :P
Scorpiemaandag 7 november 2011 @ 16:13
quote:
14s.gif Op maandag 7 november 2011 16:10 schreef GlowMouse het volgende:
Kortste code?
[ code verwijderd ]

Denk niet dat de leraar het goed rekent.
Pakspulmaandag 7 november 2011 @ 16:14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

    $res 
= array(
        
'0',
        
'01',
        
'012',
        
'0123',
        
'01234',
        
'012345',
        
'0123456',
        
'01234567',
        
'012345678',
        
'0123456789',
    );

    echo 
current($res); // 0
    
echo next($res); //01
    
echo next($res); //012
    
echo next($res); //0123
    
echo next($res); //01234
    
echo next($res); //012345
    
echo next($res); //0123456
    
echo next($res); //01234567
    
echo next($res); //012345678
    
echo next($res); //0123456789

?>

:P
GlowMousemaandag 7 november 2011 @ 16:15
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
while(1>2);
echo 
'0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789'
;
?>
Pakspulmaandag 7 november 2011 @ 16:17
quote:
0s.gif Op maandag 7 november 2011 16:15 schreef GlowMouse het volgende:

[ code verwijderd ]

while(false); :') er zit inderdaad een while in :P
Scorpiemaandag 7 november 2011 @ 16:19
quote:
0s.gif Op maandag 7 november 2011 16:17 schreef Pakspul het volgende:

[..]

while(false); :') er zit inderdaad een while in :P
_O-
GlowMousemaandag 7 november 2011 @ 16:20
Die van The_Terminator is het beste.
Pakspulmaandag 7 november 2011 @ 16:22
quote:
14s.gif Op maandag 7 november 2011 16:20 schreef GlowMouse het volgende:
Die van The_Terminator is het beste.
pff, maakt geen eens gebruik van classes :{w
mstxmaandag 7 november 2011 @ 16:25
quote:
14s.gif Op maandag 7 november 2011 16:20 schreef GlowMouse het volgende:
Die van The_Terminator is het beste.
Ik heb dus serieus een keer met zo'n soort code van iemand anders moeten werken, zag er ongeveer zo uit:
1
2
3
4
5
6
7
8
9
10
11
<?php
if ( $_GET['actie']==) {
$query="SELECT * FROM tabel WHERE kolom=1";
}
if ( 
$_GET['actie']==) {
$query="SELECT * FROM tabel WHERE kolom=2";
}
if ( 
$_GET['actie']==) {
$query="SELECT * FROM tabel WHERE kolom=3";
}
?>
En dan nog een aantal van die statements eronder. :'(
The_Terminatormaandag 7 november 2011 @ 16:26
quote:
14s.gif Op maandag 7 november 2011 16:20 schreef GlowMouse het volgende:
Die van The_Terminator is het beste.
Thanks!

quote:
0s.gif Op maandag 7 november 2011 16:22 schreef Pakspul het volgende:

[..]

pff, maakt geen eens gebruik van classes :{w
Maar wel meer dan 123 miljoen onnodige loops *O*
Pakspulmaandag 7 november 2011 @ 16:36
quote:
6s.gif Op maandag 7 november 2011 16:26 schreef The_Terminator het volgende:

[..]

Thanks!

[..]

Maar wel meer dan 123 miljoen onnodige loops *O*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
$output 
= array();
    while(
true)
    {
        
$randnr rand(0123456789);
        
        switch (
$randnr)
        {
            case 
0$first true$output[0] = $randnr; break;
            case 
1$second true$output[1] = '0' $randnr; break;
            case 
12$third true$output[2] = '0' $randnr; break;
            case 
123$fourth true$output[3] = '0' $randnr; break;
            case 
1234$fifth true$output[4] = '0' $randnr; break;
            case 
12345$sixth true$output[5] = '0' $randnr; break;
            case 
123456$seventh true$output[6] = '0' $randnr; break;
            case 
1234567$eighth true$output[7] = '0' $randnr; break;
            case 
12345678$ninth true$output[8] = '0' $randnr; break;
            case 
123456789$tenth true$output[9] = '0' $randnr; break;
        }
        
        if ( 
$first == true && $second == true && $third == true && $fourth == true && $fifth == true && $sixth == true && $seventh == true && $eighth == true && $ninth == true && $tenth == true )
        {
            break;
        }
    }
    
    echo 
current($output); // 0
    
echo next($output); //01
    
echo next($output); //012
    
echo next($output); //0123
    
echo next($output); //01234
    
echo next($output); //012345
    
echo next($output); //0123456
    
echo next($output); //01234567
    
echo next($output); //012345678
    
echo next($output); //0123456789
?>

Minimaal 123456789 loopjes, maar ga er maar vanuit dat het er velen malen meer zullen zijn :P
GlowMousemaandag 7 november 2011 @ 16:39
quote:
0s.gif Op maandag 7 november 2011 16:36 schreef Pakspul het volgende:

[..]
[ code verwijderd ]

Minimaal 123456789 loopjes, maar ga er maar vanuit dat het er velen malen meer zullen zijn :P
Die van jou kan na 10 loops klaar zijn :{w snap niet waarom je de argumenten van rand niet wat ruimer kiest ook :P
Pakspulmaandag 7 november 2011 @ 16:45
quote:
0s.gif Op maandag 7 november 2011 16:39 schreef GlowMouse het volgende:

[..]

Die van jou kan na 10 loops klaar zijn :{w snap niet waarom je de argumenten van rand niet wat ruimer kiest ook :P
kans 1 op 8.22526E+80 dat hij in 10 loops klaar is :P
Thomassmaandag 7 november 2011 @ 16:47
1
2
3
4
5
6
7
<?php
$_ 
= array(0);
do {
  
$_[] = end($_) . count($_);
} while (
count($_) <= 9);
echo 
implode("\n"$_);
?>
Chandlermaandag 7 november 2011 @ 20:28
Je zou voor de grap dit topic met http://gathering.tweakers.net/forum/list_messages/1315200 moeten mergen :@

Die van glowmouse is trouwens ook niet goed, range 1 t/m 9? waar is de 0 dan?

1
2
3
4
<?php
foreach(range(0,9) as $i) {
    echo '0'.implode(range(1,$i))."\r\n";
}
Zo is hij wel goed :P dat ik glowmouse moet verbeteren :N
niet getest maar logischer wijs goed iets minder fout ;)
Scorpiemaandag 7 november 2011 @ 20:36
quote:
14s.gif Op maandag 7 november 2011 20:28 schreef Chandler het volgende:
Je zou voor de grap dit topic met http://gathering.tweakers.net/forum/list_messages/1315200 moeten mergen :@

Die van glowmouse is trouwens ook niet goed, range 1 t/m 9? waar is de 0 dan?
[ code verwijderd ]

Zo is hij wel goed :P dat ik glowmouse moet verbeteren :N
niet getest maar logischer wijs goed iets minder fout ;)
Er zit ook geen while loop in.
GlowMousemaandag 7 november 2011 @ 22:00
quote:
14s.gif Op maandag 7 november 2011 20:28 schreef Chandler het volgende:
Je zou voor de grap dit topic met http://gathering.tweakers.net/forum/list_messages/1315200 moeten mergen :@

Die van glowmouse is trouwens ook niet goed, range 1 t/m 9? waar is de 0 dan?
[ code verwijderd ]

Zo is hij wel goed :P dat ik glowmouse moet verbeteren :N
niet getest maar logischer wijs goed iets minder fout ;)
oj ;( de eerste van jou is nu '00', dat is ook niet goed.
Cue_dinsdag 8 november 2011 @ 11:00
Oke nieuw vraagje
Mijn code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$query_attach=
            "
            SELECT * 
                 FROM hkp_attachments 
                 WHERE status = 0
            " ;

$qry_att = QueryOra($db, $query_attach);
QueryExe($qry_att, OCI_DEFAULT, $query_attach);
    while ($row_att = oci_fetch_array ($qry_att, OCI_ASSOC)) {
                $att_eaiexportid = $row_att['EAIEXPORTID'];
                $att_barcode = $row_att['BARCODE'];
                $att_filename  = $row_att['FILENAME'];
                $att_act_id  = $row_att['ACT_ID'];
                $att_status  = $row_att['STATUS'];
Hierna komt nog een tweede lus binnen de while loop die ook weer zo'n zelfde qry met while loop uitvoert.

Nu roep ik via Putty een .sh script aan die deze qry moet uitvoeren. Maar dan krijg ik deze foutmelding:

quote:
Warning: oci_fetch_array(): ORA-24374: define not done before fetch or execute and fetch in /appl/www/scripts/da_status_omzetting.php
En verwijst dan naar deze regel:
1 while ($row_att = oci_fetch_array ($qry_att, OCI_ASSOC)) {

Maar snap niet echt wat ik dan moet veranderen. Iemand ideeen?
GlowMousedinsdag 8 november 2011 @ 12:01
Zonder lus werkt het wel? Kijk dan eens of je variabelen niet dubbel gebruikt. En kijk of je wel twee queryresultaten naast elkaar mag hebben, bij MySQL mag dat bijvoorbeeld wel, maar ik weet niet of dat hier ook mag.
remi1986dinsdag 8 november 2011 @ 12:48
quote:
0s.gif Op dinsdag 8 november 2011 11:00 schreef Cue_ het volgende:
Oke nieuw vraagje
Mijn code:
[ code verwijderd ]

Hierna komt nog een tweede lus binnen de while loop die ook weer zo'n zelfde qry met while loop uitvoert.

Nu roep ik via Putty een .sh script aan die deze qry moet uitvoeren. Maar dan krijg ik deze foutmelding:

[..]

En verwijst dan naar deze regel:
[ code verwijderd ]

Maar snap niet echt wat ik dan moet veranderen. Iemand ideeen?
Cause: The application did not define output variables for
data being fetched before issuing a fetch call or invoking a
fetch by specifying a non-zero row count in an execute call.

Action: Issue OCI define calls for the columns to be fetched.

Make sure you're not forgetting to call oci_execute function
before fetching your results (eg. queries inside cycles, etc.)
vlam12woensdag 9 november 2011 @ 12:42
Ik zit weer vast :'(

1
2
3
4
5
6
7
8
<?php
for ($i=1;$i==true;$i++){
   
   
$naam=$_POST["$i"];
   echo 
" $naam ";
}
 
?>

Ik wil dat hij stopt met echoën als $naam=$_POST["$i"] een foutcode geeft, maar ik heb geen idee hoe ik dat moet oplossen.
GlowMousewoensdag 9 november 2011 @ 12:43
wat is een foutcode, en waarom schrijf je niet $_POST[$i]?
remi1986woensdag 9 november 2011 @ 12:44
quote:
0s.gif Op woensdag 9 november 2011 12:42 schreef vlam12 het volgende:
Ik zit weer vast :'(
[ code verwijderd ]

Ik wil dat hij stopt met echoën als $naam=$_POST["$i"] een foutcode geeft, maar ik heb geen idee hoe ik dat moet oplossen.
Die for loop gaat door zolang $i true is, je zal hem dus ergens op false moeten zetten als je wil dat hij stopt. Maar wat een rare constructie trouwens
GlowMousewoensdag 9 november 2011 @ 12:47
je zult wel zoiets zoeken
1
2
3
4
5
6
7
8
<?php
$i 
0;
while(! empty(
$_POST[$i])) {
   
$naam=$_POST[$i];
   echo 
" $naam ";
   
$i++;
}
?>
Sitethiefwoensdag 9 november 2011 @ 13:04
1
2
3
<?php
echo " $naam ";
?>

Ik zou dat nooit zo doen, altijd zonder "". Wat voor een nut heeft het om er " om heen te zetten? Als je simpelweg een variabele wil laten zien kan dat prima zonder "
GIwoensdag 9 november 2011 @ 13:05
quote:
0s.gif Op woensdag 9 november 2011 13:04 schreef Sitethief het volgende:

[ code verwijderd ]

Ik zou dat nooit zo doen, altijd zonder "". Wat voor een nut heeft het om er " om heen te zetten? Als je simpelweg een variabele wil laten zien kan dat prima zonder "
Ach, als je spaties voor en naam de variabele wil hebben kan je ook
1
2
3
<?php
echo (" ".$naam." "); 
?>
doen maar dan vind ik dit beter leesbaar.
Sitethiefwoensdag 9 november 2011 @ 13:08
quote:
Echo with commas, not periods. If you use periods, PHP has to concatenate the string before it outputs. If you use commas, it just outputs them in order with no extra processing.
Sitethiefwoensdag 9 november 2011 @ 13:08
Hoewel ik dat zelf ook niet doe eigenlijk :X
GIwoensdag 9 november 2011 @ 13:09
Oh :o! Nooit bij stilgestaan.
GlowMousewoensdag 9 november 2011 @ 13:10
Veldnamen 1, 2, 3, etc zijn ook niet zo mooi, dan kun je beter een array gebruiken.
vlam12woensdag 9 november 2011 @ 13:15
Ik zal het proberen mijn probleem wat beter uit te leggen.
Op de eerste pagina kan je aangeven hoeveel namen je wilt invoeren.

Pagina 1:
1
2
3
4
5
6
7
<?php
<form method="POST" action="ontvangen3.php"
    <
input type="text" name="velden" size="20" maxlength="30" >
    <
br>
    <
input type="submit" name=keuzen value="Verzenden" action="ontvangen3.php">
</
form>
?>

op de tweede pagina worden de tabbellen gemaakt, en dan kan je namen in de tabbellen invoeren.

Pagina 2:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$waarde
=$_POST['velden'];

echo 
'<form method="POST" action="tabel.php">';

for (
$iets=1$iets<=$waarde$iets++){
                     
                     
$tabel='    
                                <input type="text" name="'
.$iets.'" size="20" maxlength="30">
                                 <br>    '
;
                            
                            echo 
$tabel;
                    }

echo
' <p> <input type="hidden" 
name="'
.$iets.'" value="'.$iets.'" action="tabel.php">
    <input type="submit" name="namen" value="verzenden" action="tabel.php">
    </form> 
     '
;
?>

En op de 3e scherm wil ik alle namen die je in het tweede scherm hebt ingevoerd, onder elkaar weergeven. Daar loop ik momenteel op vast. want de code stopt niet als je bijv. 5 namen heb ingevoerd, dan loopt ie verder te zoeken naar nummer 6,7, 8 enz. enzovoorts en dan krijg ik veel errors op de scherm te zien.
GlowMousewoensdag 9 november 2011 @ 13:16
Werk eens met <input name="iets[]"
Pakspulwoensdag 9 november 2011 @ 13:20
Ik hoop dat je code er iets beter uit ziet dan in het voorbeeld :P Ook de variable namen, want dit is best waardeloos :')

Waarom heb je action op een input type=hidden en type=submit field?

Hoe geef je het aantal velden door dat er gebruikt wordt? Ik zou een hidden field name="velden" value="$waarde" opnemen, zodat je weet hoeveel velden er worden gebruikt.

Andere optie is nog door d.m.v. javascript steeds een nieuwe regel met velden in een tabelvorm aan te maken en dan door name="veldnaam[]" (let op de blokhaken) ze in een array te dringen, en dan uitlezen. Dat scheelt je weer een scherm.
Pakspulwoensdag 9 november 2011 @ 13:21
quote:
14s.gif Op woensdag 9 november 2011 13:16 schreef GlowMouse het volgende:
Werk eens met <input name="iets[]"
Hoeft niet persee name="voornaam_$index" zou voldoende kunnen zijn om ze later weer uit te lezen.
KomtTijd...woensdag 9 november 2011 @ 13:21
quote:
14s.gif Op woensdag 9 november 2011 12:47 schreef GlowMouse het volgende:
je zult wel zoiets zoeken
[ code verwijderd ]

Een foreach zou toch hetzelfde doen zonder dat je $i hoeft te gebruiken?

quote:
3s.gif Op woensdag 9 november 2011 13:05 schreef GI het volgende:

[..]

Ach, als je spaties voor en naam de variabele wil hebben kan je ook
[ code verwijderd ]

doen maar dan vind ik dit beter leesbaar.
Waarom zou je in hemelsnaam spaties voor en achter een string willen hardcoden?
GlowMousewoensdag 9 november 2011 @ 13:22
quote:
0s.gif Op woensdag 9 november 2011 13:21 schreef KomtTijd... het volgende:

[..]

Een foreach zou toch hetzelfde doen zonder dat je $i hoeft te gebruiken?
tot een user met vijf invulvakjes alleen de eerste drie invult wel ja

wel leuk als $_POST['velden']=1e10;
remi1986woensdag 9 november 2011 @ 13:23
quote:
14s.gif Op woensdag 9 november 2011 13:16 schreef GlowMouse het volgende:
Werk eens met <input name="iets[]"
Dit ja!

1
2
3
4
5
<?php
for($iets 1$iets <= $waarde$i++) {
     echo 
"<input type='text' name='names[]' size='20' maxlength='30'>";
}
?>

Dan kan je ze daarna benaderen met $_POST['names'] wat dan een array is.
remi1986woensdag 9 november 2011 @ 13:24
quote:
0s.gif Op woensdag 9 november 2011 13:21 schreef Pakspul het volgende:

[..]

Hoeft niet persee name="voornaam_$index" zou voldoende kunnen zijn om ze later weer uit te lezen.
Maar dan weet je nog niet hoeveel het er zijn. Moet je gaan exploden op "voornaam_". Dan is de input name met [] veel makkelijker, omdat je dan gewoon een array terugkrijgt
KomtTijd...woensdag 9 november 2011 @ 13:24
quote:
0s.gif Op woensdag 9 november 2011 13:22 schreef GlowMouse het volgende:

[..]

tot een user met vijf invulvakjes alleen de eerste drie invult wel ja

Ohja idd dat zou je dan in de loop nog moeten checken...
GlowMousewoensdag 9 november 2011 @ 13:26
quote:
0s.gif Op woensdag 9 november 2011 13:24 schreef KomtTijd... het volgende:

[..]

Ohja idd dat zou je dan in de loop nog moeten checken...
het echte probleem is dat je met foreach alle postvelden krijgt; als je names[] gebruikt dan zou ik juist wel foreach gebruiken
Pakspulwoensdag 9 november 2011 @ 13:33
quote:
0s.gif Op woensdag 9 november 2011 13:24 schreef remi1986 het volgende:

[..]

Maar dan weet je nog niet hoeveel het er zijn. Moet je gaan exploden op "voornaam_". Dan is de input name met [] veel makkelijker, omdat je dan gewoon een array terugkrijgt
Als je tien rijen bouwt dan krijg je met veldnaam[] er tien terug en voornaam_$index ook tien. En je hoeft niet te exploden want je kunt gewoon checken met $currentfield = "voornaam_" . $i; empty($currentfield); ....
Scorpiewoensdag 9 november 2011 @ 13:36
quote:
0s.gif Op woensdag 9 november 2011 13:33 schreef Pakspul het volgende:

[..]

Als je tien rijen bouwt dan krijg je met veldnaam[] er tien terug en voornaam_$index ook tien. En je hoeft niet te exploden want je kunt gewoon checken met $currentfield = "voornaam_" . $i; empty($currentfield); ....
Arrays & loops _O_
Concatenatie en empty() checks :(
GlowMousewoensdag 9 november 2011 @ 13:37
quote:
0s.gif Op woensdag 9 november 2011 13:36 schreef Scorpie het volgende:

[..]

Arrays & loops _O_
Concatenatie en empty() checks :(
hear, hear
GIwoensdag 9 november 2011 @ 13:38
quote:
0s.gif Op woensdag 9 november 2011 13:21 schreef KomtTijd... het volgende:

[..]

Een foreach zou toch hetzelfde doen zonder dat je $i hoeft te gebruiken?

[..]

Waarom zou je in hemelsnaam spaties voor en achter een string willen hardcoden?
Als je al in een situatie zit waar je echo(" $naam "); gebruikt zit dan is een template engine wellicht te hoog gegrepen ;)