abonnement Unibet Coolblue Bitvavo
  maandag 24 oktober 2011 @ 11:52:36 #1
22273 Dizer
Save the beard!
pi_103491174


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
Friends don't let friends remain beardless...
  maandag 24 oktober 2011 @ 11:53:24 #2
22273 Dizer
Save the beard!
pi_103491197
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!
Friends don't let friends remain beardless...
pi_103491353
Eh, dat is javascript, client-side code. Dat heeft niets in PHP te zoeken.

[html, css, js] voor dummies #18
  maandag 24 oktober 2011 @ 11:59:11 #4
22273 Dizer
Save the beard!
pi_103491423
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...
Friends don't let friends remain beardless...
pi_103491745
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.
  maandag 24 oktober 2011 @ 12:07:17 #6
12221 Tijn
Powered by MS Paint
pi_103491753
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.
pi_103491901
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...
  maandag 24 oktober 2011 @ 12:12:53 #8
14612 _GdR_
3.1415926536
pi_103491943
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;
Out! out! flapoor your father! | DaFan's moeder
  maandag 24 oktober 2011 @ 12:52:08 #9
324709 baaart
¯¯¯¯¯¯¯
pi_103493374
quote:
0s.gif Op maandag 24 oktober 2011 12:12 schreef _GdR_ het volgende:

[..]

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

_O-
  maandag 24 oktober 2011 @ 17:36:58 #10
218617 YazooW
bel de wouten!
pi_103504695
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.
pi_103504871
In een session opslaan. of gewoon in één script gooien.
Of toch du vader?
pi_103504919
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 ]
  maandag 24 oktober 2011 @ 18:30:04 #13
218617 YazooW
bel de wouten!
pi_103506791
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?
pi_103506842
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 :)
pi_103512949
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.
pi_103523778
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 :)
The people who lost my respect will never get a capital letter for their name again.
Like trump...
  dinsdag 25 oktober 2011 @ 00:45:49 #17
218617 YazooW
bel de wouten!
pi_103529489
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?
pi_103529662
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)
  dinsdag 25 oktober 2011 @ 01:00:19 #19
218617 YazooW
bel de wouten!
pi_103529831
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.
pi_103529927
Weird, it should.
Maar ik zou sowieso gewoon enkele qoutes gebruiken en een punt ertussen zetten, vind ik persoonlijk (meestal) overzichtelijker.
  dinsdag 25 oktober 2011 @ 01:06:22 #21
302853 themole
graaft totaal door.
pi_103529979
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";
?>
Niet altijd serieus
pi_103531526
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. :)
  dinsdag 25 oktober 2011 @ 11:02:10 #23
324709 baaart
¯¯¯¯¯¯¯
pi_103535216
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.
  dinsdag 25 oktober 2011 @ 11:05:00 #24
324709 baaart
¯¯¯¯¯¯¯
pi_103535287
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).")" ;
?>
  dinsdag 25 oktober 2011 @ 11:14:50 #25
58834 Catbert
The evil HR Director.
pi_103535542
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"?
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 25 oktober 2011 @ 15:50:59 #26
218617 YazooW
bel de wouten!
pi_103544797
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.
  dinsdag 25 oktober 2011 @ 15:53:51 #27
324709 baaart
¯¯¯¯¯¯¯
pi_103544873
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());

?>
  dinsdag 25 oktober 2011 @ 15:59:08 #28
58834 Catbert
The evil HR Director.
pi_103545055
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)
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  dinsdag 25 oktober 2011 @ 16:01:33 #29
118585 Crutch
Filantroop || Taalzwengel
pi_103545136
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.
Je moeder is een hamster
  dinsdag 25 oktober 2011 @ 16:03:01 #30
218617 YazooW
bel de wouten!
pi_103545192
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.
  dinsdag 25 oktober 2011 @ 16:03:46 #31
118585 Crutch
Filantroop || Taalzwengel
pi_103545217
moeten je values niet tussen ''-jes staan?
Je moeder is een hamster
  dinsdag 25 oktober 2011 @ 16:04:12 #32
118585 Crutch
Filantroop || Taalzwengel
pi_103545230
en je table rows tussen ``?
Je moeder is een hamster
  dinsdag 25 oktober 2011 @ 16:04:18 #33
218617 YazooW
bel de wouten!
pi_103545234
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?
  dinsdag 25 oktober 2011 @ 16:07:25 #34
218617 YazooW
bel de wouten!
pi_103545329
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.
  dinsdag 25 oktober 2011 @ 16:07:39 #35
118585 Crutch
Filantroop || Taalzwengel
pi_103545337
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.
Je moeder is een hamster
  dinsdag 25 oktober 2011 @ 16:07:44 #36
324709 baaart
¯¯¯¯¯¯¯
pi_103545340
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
  dinsdag 25 oktober 2011 @ 16:13:18 #37
218617 YazooW
bel de wouten!
pi_103545571
Je pastebin oplossing gebruikt, returnt: unexpected T_CONSTANT_ENCAPSED_STRING
  dinsdag 25 oktober 2011 @ 16:16:35 #38
218617 YazooW
bel de wouten!
pi_103545706
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...
  dinsdag 25 oktober 2011 @ 16:16:37 #39
324709 baaart
¯¯¯¯¯¯¯
pi_103545707
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
  dinsdag 25 oktober 2011 @ 16:17:28 #40
118585 Crutch
Filantroop || Taalzwengel
pi_103545741
nvm
Je moeder is een hamster
  dinsdag 25 oktober 2011 @ 16:18:59 #41
218617 YazooW
bel de wouten!
pi_103545801
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.
  dinsdag 25 oktober 2011 @ 16:21:57 #42
324709 baaart
¯¯¯¯¯¯¯
pi_103545927
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.
pi_103546611
`` is niet per se nodig bij tabel namen, kolomnamen, etc, maar string quotes zijn wel zeker nodig.
Of toch du vader?
  dinsdag 25 oktober 2011 @ 16:49:52 #44
75592 GlowMouse
l'état, c'est moi
pi_103547050
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 '.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 25 oktober 2011 @ 17:57:31 #45
292596 Faux.
Fan van zichzelf
pi_103549486
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? :)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
  dinsdag 25 oktober 2011 @ 18:06:19 #46
12221 Tijn
Powered by MS Paint
pi_103549770
1
2
3
4
5
6
7
8
9
<?php
while(true)
{
  if(
time() % == 0)
  {
    
// doe hier elke 3 seconden iets
  
}
}
?>
  dinsdag 25 oktober 2011 @ 18:08:26 #47
292596 Faux.
Fan van zichzelf
pi_103549842
quote:
5s.gif Op dinsdag 25 oktober 2011 18:06 schreef Tijn het volgende:

[ code verwijderd ]

Mijn dank is groot :)
Hier schreef tong80 het volgende:
Faux is een FOK!held, zoals dat vroeger Gellarboy en Brechtje waren. Users die je koestert.
pi_103550744
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 :)
  dinsdag 25 oktober 2011 @ 18:42:09 #49
75592 GlowMouse
l'état, c'est moi
pi_103551086
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 25 oktober 2011 @ 18:46:29 #50
75592 GlowMouse
l'état, c'est moi
pi_103551258
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) );
}

?>
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_103552080
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 ]
  dinsdag 25 oktober 2011 @ 19:10:07 #52
75592 GlowMouse
l'état, c'est moi
pi_103552114
Als je de keuze hebt, gebruik PDO.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 25 oktober 2011 @ 19:23:11 #53
75592 GlowMouse
l'état, c'est moi
pi_103552703
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_103552845
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.
  dinsdag 25 oktober 2011 @ 19:57:16 #55
12221 Tijn
Powered by MS Paint
pi_103554409
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.
  dinsdag 25 oktober 2011 @ 19:57:51 #56
75592 GlowMouse
l'état, c'est moi
pi_103554430
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  dinsdag 25 oktober 2011 @ 20:53:58 #57
218617 YazooW
bel de wouten!
pi_103556871
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!
  dinsdag 25 oktober 2011 @ 21:39:07 #58
12221 Tijn
Powered by MS Paint
pi_103559119
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 :')
  dinsdag 25 oktober 2011 @ 21:42:33 #59
75592 GlowMouse
l'état, c'est moi
pi_103559332
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).
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  woensdag 26 oktober 2011 @ 10:59:36 #60
281927 mcf
The end is the beginning.
pi_103573991
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.
  woensdag 26 oktober 2011 @ 11:31:07 #61
25889 Sitethief
Fulltime Flapdrol
pi_103575046
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>");
}
?>
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_103575615
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.
pi_103575973
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.
  woensdag 26 oktober 2011 @ 12:38:37 #64
281927 mcf
The end is the beginning.
pi_103577288
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.
pi_103577368
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
pi_103577570
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
The people who lost my respect will never get a capital letter for their name again.
Like trump...
pi_103577765
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.
  woensdag 26 oktober 2011 @ 12:56:04 #68
281927 mcf
The end is the beginning.
pi_103577919
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'
pi_103577980
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?
  woensdag 26 oktober 2011 @ 13:20:42 #70
281927 mcf
The end is the beginning.
pi_103578957
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
  woensdag 26 oktober 2011 @ 13:33:34 #71
267443 Cue_
Cuecumbergirl
pi_103579509
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.
  woensdag 26 oktober 2011 @ 13:39:31 #72
4159 GI
Nee ik heet geen JOE
  woensdag 26 oktober 2011 @ 13:43:42 #73
267443 Cue_
Cuecumbergirl
pi_103579966
quote:
werken die ook allemaal op een oracle database? Ik ga eens googlen :)
Tnx!
pi_103580146
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:


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.
  woensdag 26 oktober 2011 @ 14:09:47 #75
4159 GI
Nee ik heet geen JOE
pi_103581027
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
  woensdag 26 oktober 2011 @ 14:37:20 #76
25889 Sitethief
Fulltime Flapdrol
pi_103582158
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
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_103582215
Gewoon "or"? Of (gebruikelijker): ||
  woensdag 26 oktober 2011 @ 14:41:31 #78
25889 Sitethief
Fulltime Flapdrol
pi_103582328
Zie je, ik wist dat ik iets miste :X


:@
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 26 oktober 2011 @ 15:37:38 #79
4159 GI
Nee ik heet geen JOE
pi_103584597
Best basic opzich ;)
  woensdag 26 oktober 2011 @ 16:32:33 #80
25889 Sitethief
Fulltime Flapdrol
pi_103586843
Ik had in mijn hoofd zitten dat OR de functionaliteit van XOR had... :X .
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  donderdag 27 oktober 2011 @ 12:59:36 #81
256170 7leintje93
Starting fires without sparks.
pi_103620752
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 :)
20 jaar, studente Business IT & Management, Project Manager / Teamleider Businessteam bij B302 (http://www.b302.nl/), muziekverslaafde, filmfanaat, levensgenieter.
--
HEY, HO, LET'S GO!
pi_103620845
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

[ Bericht 5% gewijzigd door #ANONIEM op 27-10-2011 13:04:00 ]
pi_103620881
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.
  donderdag 27 oktober 2011 @ 13:06:47 #84
256170 7leintje93
Starting fires without sparks.
pi_103620970
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.
20 jaar, studente Business IT & Management, Project Manager / Teamleider Businessteam bij B302 (http://www.b302.nl/), muziekverslaafde, filmfanaat, levensgenieter.
--
HEY, HO, LET'S GO!
  donderdag 27 oktober 2011 @ 13:10:12 #85
256170 7leintje93
Starting fires without sparks.
pi_103621101
quote:
Thanks a lot! :)
20 jaar, studente Business IT & Management, Project Manager / Teamleider Businessteam bij B302 (http://www.b302.nl/), muziekverslaafde, filmfanaat, levensgenieter.
--
HEY, HO, LET'S GO!
  donderdag 27 oktober 2011 @ 13:14:52 #86
75592 GlowMouse
l'état, c'est moi
pi_103621273
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.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 27 oktober 2011 @ 13:23:08 #87
256170 7leintje93
Starting fires without sparks.
pi_103621562
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?
20 jaar, studente Business IT & Management, Project Manager / Teamleider Businessteam bij B302 (http://www.b302.nl/), muziekverslaafde, filmfanaat, levensgenieter.
--
HEY, HO, LET'S GO!
pi_103621582
quote:
0s.gif Op donderdag 27 oktober 2011 13:23 schreef 7leintje93 het volgende:

[..]

Wat bedoel je daarmee?
Dat die extra tabelid overbodig is.
  donderdag 27 oktober 2011 @ 13:24:16 #89
256170 7leintje93
Starting fires without sparks.
pi_103621606
Ik ga het meteen veranderen :) Maakt het alleen maar makkelijker. Thanks!
20 jaar, studente Business IT & Management, Project Manager / Teamleider Businessteam bij B302 (http://www.b302.nl/), muziekverslaafde, filmfanaat, levensgenieter.
--
HEY, HO, LET'S GO!
  donderdag 27 oktober 2011 @ 13:42:08 #90
58834 Catbert
The evil HR Director.
pi_103622230
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.
"[...] a large number of the teenagers claiming Asperger's are, in fact, merely dicks."
  donderdag 27 oktober 2011 @ 13:44:01 #91
256170 7leintje93
Starting fires without sparks.
pi_103622294
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!
20 jaar, studente Business IT & Management, Project Manager / Teamleider Businessteam bij B302 (http://www.b302.nl/), muziekverslaafde, filmfanaat, levensgenieter.
--
HEY, HO, LET'S GO!
  donderdag 27 oktober 2011 @ 16:56:13 #92
218617 YazooW
bel de wouten!
pi_103629727
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);
  donderdag 27 oktober 2011 @ 16:59:19 #93
75592 GlowMouse
l'état, c'est moi
pi_103629886
probeer eens iets met array_map
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
  donderdag 27 oktober 2011 @ 17:17:42 #94
218617 YazooW
bel de wouten!
pi_103630620
Op de 1 of andere manier is het me nu wel gelukt met dezelfde code :{
  donderdag 27 oktober 2011 @ 17:30:40 #95
218617 YazooW
bel de wouten!
pi_103631143
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...
  donderdag 27 oktober 2011 @ 20:50:03 #96
218617 YazooW
bel de wouten!
pi_103640391
Character probleem opgelost door php file op te slaan met UTF-8 encoding.
pi_103667210
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>";
?>
pi_103667304
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?
pi_103667328
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
pi_103667368
quote:
0s.gif Op vrijdag 28 oktober 2011 13:36 schreef MrNiles het volgende:

[..]

:Y :@
:')
ach ja, foutje bedankt :P
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')