abonnement Unibet Coolblue Bitvavo
  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.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')