abonnement Unibet Coolblue Bitvavo
pi_58988323
quote:
Op donderdag 29 mei 2008 12:32 schreef ursel het volgende:

[..]

Het probleem zit hem volgens mij niet in de query. deze verstuurd de apastrophe gewoon goed. We gebruiken MDB2 van Pear en als ik zijn resultaat dump, dan staat de query er ook gewoon met een apastrophe. Kortom, volgens mijn simpele conclusie maakt MySQL er dus HTML entities van.

In de PHP dit soort zaken opvangen betekend dat ik overal waar we de query gaan uitvoeren dit moeten gaan aanpassen.
Ik heb daar meestal een eigen vervangende functie (voor mysql_query()) voor die én de betreffende query uitvoert, en daarbij afhankelijk van de magic_quotes instelling mysql_real_escape_string() uitvoert. Werkt prima.
  donderdag 29 mei 2008 @ 14:31:26 #227
63192 ursel
"Het Is Hier Fantastisch!
pi_58988538
quote:
Op donderdag 29 mei 2008 14:23 schreef Tuvai.net het volgende:

[..]

Ik heb daar meestal een eigen vervangende functie (voor mysql_query()) voor die én de betreffende query uitvoert, en daarbij afhankelijk van de magic_quotes instelling mysql_real_escape_string() uitvoert. Werkt prima.
Overigens staat er ook deze warning op je linkje :
quote:
Warning

This feature has been DEPRECATED and REMOVED as of PHP 6.0.0. Relying on this feature is highly discouraged.
Gezien wij van de zomer aan het systeem gaan werken richting PHP6 lijkt het me dan niet zo zinvol om er nu dan nog mee aan de slag te gaan..
  donderdag 29 mei 2008 @ 16:17:55 #228
62215 qu63
..de tijd drinkt..
pi_58991036
1
2
3
4
5
6
7
8
<?php
mysql_connect
("localhost""root""******") or die(mysql_error());
mysql_select_db("test");
$q "SELECT * FROM `wish` LIMIT 0 , 30";
$res mysql_query($q);
$w mysql_fetch_array($res);
print_r($w);
?>

Ik krijg steeds maar 1 regel, en snap niet waarom
Er zitten 28 records in de database, maar ik krijg steeds alleen de eerste. Als ik LIMIT 0,30 vervang door LIMIT 2,30 krijg ik alleen het 3e record

iemand een tip?
zal vast wel weer iets stoms zijn..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 29 mei 2008 @ 16:29:50 #229
159841 Dzy
It is I
pi_58991286
klopt

Je fetcht met mysql_fetch_array het volgende resultaat uit de resultaat set, als je dit dus 30 keer doet heb je alle 30 records. Dit los je mooi op met bijvoorbeeld:

1
2
3
4
5
6
7
$res = mysql_query($q);
$records=array();
while ($row = mysql_fetch_array($res))
{
  $records[]=$row;
  print_r($row);
}
"Reality is an illusion created by a lack of alcohol."
  donderdag 29 mei 2008 @ 16:35:25 #230
62215 qu63
..de tijd drinkt..
pi_58991410
quote:
Op donderdag 29 mei 2008 16:29 schreef Dzy het volgende:
klopt

Je fetcht met mysql_fetch_array het volgende resultaat uit de resultaat set, als je dit dus 30 keer doet heb je alle 30 records. Dit los je mooi op met bijvoorbeeld:
[ code verwijderd ]
en hoe prop ik dit er dan bij?
1
2
3
4
5
6
7
8
9
10
<?php
shuffle
($w[1]);
foreach (
$w as $w2) {
    echo 
"<li type=\"circle\" dir=\"ltr\" lang=\"nl\">";
    if (
$w2[2] == 1)echo "<span style=\"text-decoration: line-through;\">";
    echo 
"$w2 ";
    if (
$w2[2] == 1)echo "</span><br />\n";
    echo 
"</li>\n";
}
?>


Het is dus de bedoeling dat alle records door elkaar gegooid worden (door shuffle()) en daarna uitgepoept worden in een lijstje. Als b = 1, dan komt er dus een streepje door de record te staan, anders niet..

originele foute code was dit:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
mysql_connect
("localhost""root""cCy4zxY9") or die(mysql_error());
mysql_select_db("test");
$q "SELECT * FROM `wish`";
$res mysql_query($q);
$w mysql_fetch_array($res);
shuffle($w[1]);
foreach (
$w as $w2) {
    echo 
"<li type=\"circle\" dir=\"ltr\" lang=\"nl\">";
    if (
$w2[2] == 1)echo "<span style=\"text-decoration: line-through;\">";
    echo 
"$w2 ";
    if (
$w2[2] == 1)echo "</span><br />\n";
    echo 
"</li>\n";
}
?>
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58991428
quote:
Op donderdag 29 mei 2008 14:31 schreef ursel het volgende:

[..]

Overigens staat er ook deze warning op je linkje :
[..]
Welk linkje?
  donderdag 29 mei 2008 @ 16:37:17 #232
159841 Dzy
It is I
pi_58991454
Nou, $records is bij mijn voorbeeld precies hetzelfde als jouw $w. Overigens raad ik je aan geen mysql_fetch_array maar mysql_fetch_assoc te gebruiken, dan krijg je veel mooiere arrays met de namen van de database kolommen als keys.
"Reality is an illusion created by a lack of alcohol."
  donderdag 29 mei 2008 @ 16:52:14 #233
62215 qu63
..de tijd drinkt..
pi_58991786
quote:
Op donderdag 29 mei 2008 16:37 schreef Dzy het volgende:
Nou, $records is bij mijn voorbeeld precies hetzelfde als jouw $w. Overigens raad ik je aan geen mysql_fetch_array maar mysql_fetch_assoc te gebruiken, dan krijg je veel mooiere arrays met de namen van de database kolommen als keys.
Ik snap er geen fuck meer van..

Ik heb nu:
1
2
3
4
5
6
7
<?php
while ($row mysql_fetch_assoc($res))
{
    
$records[]=$row;
    
print_r($row);
}
?>

Dat geeft netjes alles terug, maar als ik
1
2
3
4
<?php
    $records
[]=$row;
    echo 
$records["wid"];
?>

doe, komt er weer niks. Doe ik $records[0]["wid"] krijg ik 28 keer een 1, omdat dat de waarde is van wid bij het eerste record.. $records[]["wid"] is niet geldig..

dus hoer moet het dan
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 29 mei 2008 @ 17:03:41 #234
187069 slacker_nl
Sicko pur sang
pi_58992015
quote:
Op donderdag 29 mei 2008 16:52 schreef qu63 het volgende:

[..]

Ik snap er geen fuck meer van..

Ik heb nu:
[ code verwijderd ]

Dat geeft netjes alles terug, maar als ik
[ code verwijderd ]

doe, komt er weer niks. Doe ik $records[0]["wid"] krijg ik 28 keer een 1, omdat dat de waarde is van wid bij het eerste record.. $records[]["wid"] is niet geldig..

dus hoer moet het dan :?
1
2
3
4
5
<?php
foreach ($records as $record) {
   
printf("Wid is %s\n"record['wid'])
}
?>
In theory there is no difference between theory and practice. In practice there is.
  donderdag 29 mei 2008 @ 17:09:09 #235
62215 qu63
..de tijd drinkt..
pi_58992161
quote:
Op donderdag 29 mei 2008 17:03 schreef slacker_nl het volgende:

[..]
[ code verwijderd ]
eerst een syntax error, unexpected '[' in regel 3 (in dit geval dus) en daarna een syntax error, unexpected '} in regel 4

die eerste heb ik opgelost door er $record['wid'] van te maken, maar die 2e blijft..
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 29 mei 2008 @ 17:13:35 #236
187069 slacker_nl
Sicko pur sang
pi_58992264
quote:
Op donderdag 29 mei 2008 17:09 schreef qu63 het volgende:

[..]

eerst een syntax error, unexpected '[' in regel 3 (in dit geval dus) en daarna een syntax error, unexpected '} in regel 4

die eerste heb ik opgelost door er $record['wid'] van te maken, maar die 2e blijft..
Oops, teveel python getikt de afgelopen weken (geen $var, maar var en geen ; aan het einde van je statement nodig dan.. kan wel, maar is niet nodig).

1
2
3
4
5
6
7
8
9
10
11
12
$records = array();

$record = array('wid' => 1, 'wid2' => 2);

$records[] = $record;
$records[] = $record;

print_r($records);

foreach($records as $record) {
    printf("Wid is %s\n", $record['wid']);
}


Works for me (tm)
In theory there is no difference between theory and practice. In practice there is.
  donderdag 29 mei 2008 @ 17:19:34 #237
187069 slacker_nl
Sicko pur sang
pi_58992390
quote:
Op zondag 18 mei 2008 12:25 schreef saban het volgende:
date('l'); geeft Sunday terug, is er niet iets om bijvoorbeeld de taal vast te stellen? date('l','NL'); bijvoorbeeld voor zondag?

Ik heb nu namelijk dit maar het moet makkelijker/netter kunnen:
[ code verwijderd ]
Beetje laat, maar ik los dit soort of statements vaak op met een hash:

$day = $hash[date(l)];
In theory there is no difference between theory and practice. In practice there is.
  donderdag 29 mei 2008 @ 17:21:22 #238
62215 qu63
..de tijd drinkt..
pi_58992438
quote:
Op donderdag 29 mei 2008 17:13 schreef slacker_nl het volgende:

[..]

Oops, teveel python getikt de afgelopen weken (geen $var, maar var en geen ; aan het einde van je statement nodig dan.. kan wel, maar is niet nodig).
[ code verwijderd ]

Works for me (tm)
hmz..

het was gewoon de bedoeling dat mn tabelletje uitgelezen wordt:
1
2
3
4
5
6
7
+----+----------+-----+
|wid |     w    | b   |
+----+----------+-----+
|  1 | wens1    |   0 |
|  2 | wens2    |   0 |
|  3 | wens3    |   1 |
+----+----------+-----+

en dat php de lijst door elkaar gooid, en dat er zoiets uit komt:

- wens2
- wens3
- wens1

Dus alle items door elkaar gegooid, en als b = 1 dan een streep er door..

nog te volgen :?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 29 mei 2008 @ 17:28:13 #239
187069 slacker_nl
Sicko pur sang
pi_58992581
quote:
Op donderdag 29 mei 2008 17:21 schreef qu63 het volgende:

[..]

hmz..

het was gewoon de bedoeling dat mn tabelletje uitgelezen wordt:
[ code verwijderd ]

en dat php de lijst door elkaar gooid, en dat er zoiets uit komt:

- wens2
- wens3
- wens1

Dus alle items door elkaar gegooid, en als b = 1 dan een streep er door..

nog te volgen
ja, wrom niet gewoon zo oplossen:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$result 
mysql_query($query);
$num mysql_num_rows($result);

for (
$row 0$row $num$row++) {
  
$data mysql_fetch_array($result);
  
$wid =$data['wid'];
  
$wens =$data['wens'];
  
$b=$data['b'];

  
# more code here
}
?>


Mogelijk kan je ook je query aanpassen:

select wid, wens, b from table en dan even met print_r kijken of de array in de juiste volgorde staat (pas op, data[0] is dan hetzelfde als data['wid'], maar dat staat beschreven in de PHP docs).
In theory there is no difference between theory and practice. In practice there is.
  donderdag 29 mei 2008 @ 17:32:36 #240
62215 qu63
..de tijd drinkt..
pi_58992666
quote:
Op donderdag 29 mei 2008 17:28 schreef slacker_nl het volgende:

[..]

ja, wrom niet gewoon zo oplossen:
[ code verwijderd ]

Mogelijk kan je ook je query aanpassen:

select wid, wens, b from table en dan even met print_r kijken of de array in de juiste volgorde staat (pas op, data[0] is dan hetzelfde als data['wid'], maar dat staat beschreven in de PHP docs).
dat werkt idd, thanks

Alleen nu moet ie nog ergens geshuffled worden
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 29 mei 2008 @ 17:44:46 #241
187069 slacker_nl
Sicko pur sang
pi_58992934
array_shuffle($array);
In theory there is no difference between theory and practice. In practice there is.
  donderdag 29 mei 2008 @ 17:47:26 #242
62215 qu63
..de tijd drinkt..
pi_58992999
quote:
Op donderdag 29 mei 2008 17:44 schreef slacker_nl het volgende:
array_shuffle($array);
shuffle() bedoel je?
of array_rand()?

array_shuffle bestaat iig niet

en waar moet ie komen dan
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
  donderdag 29 mei 2008 @ 17:52:07 #243
187069 slacker_nl
Sicko pur sang
pi_58993126
De moest een teken zijn dat die post niet geheel serieus genomen kon worden.
In theory there is no difference between theory and practice. In practice there is.
pi_58993540
quote:
Op donderdag 29 mei 2008 10:33 schreef Hmail het volgende:
Ik weet niet precies hoe je database eruit ziet, maar als het zoiets is:
[ code verwijderd ]

Dan zou je de volgende query kunnen gebruiken:
[ code verwijderd ]

Hiermee telt hij dus het aantal bets, en voegt hij alles onder bij de juiste username. Daarmee voorkom je dubbele resultaten.
Ik heb mbt tot deze code twee tabellen: euro_bet en euro_player.

euro_bet:

ID firstname lastname username
1 Ronald Koeman irix
2 Erwin Koeman irix
3 Ronald Koeman sander

euro_player

ID firstname lastname (en nog een paar niet relevante velden)
1 Ronald Koeman
2. David Beckham
3. Erwin Koeman

Ter verduidelijking: Als iemand naar de pagina new_bet gaat, moet diegene een lijst krijgen te zien van alle spelers waarop hij nog geen bet heeft staan. Alle mogelijke spelers staan in euro_player. Als iemand vervolgens een bet plaatst, dan wordt deze toegevoegd aan de tabel euro_bet.
  donderdag 29 mei 2008 @ 18:27:47 #245
62215 qu63
..de tijd drinkt..
pi_58993853
quote:
Op donderdag 29 mei 2008 17:52 schreef slacker_nl het volgende:
De moest een teken zijn dat die post niet geheel serieus genomen kon worden.
ah

Maar heb je nog wel een anwoord dan?
It's Time To Shine
[i]What would life be like without rhethorical questions?[/i]
pi_58994113
quote:
Op donderdag 29 mei 2008 14:31 schreef ursel het volgende:

[..]

Overigens staat er ook deze warning op je linkje :
[..]

Gezien wij van de zomer aan het systeem gaan werken richting PHP6 lijkt het me dan niet zo zinvol om er nu dan nog mee aan de slag te gaan..
Dat ligt er maar net aan. In PHP6 zijn er geen magic quotes meer. Als je die nu nog wel gebruikt in PHP5 (even controleren met phpinfo() ) dan is het wellicht een goed moment om alvast magic quotes uit te zetten. Als ze al uit staan dan is dat goed, mooi laten staan dus
pi_58999394
Ik zie het ff niet meer.

Wat ik probeer te doen: ik heb een array met key-value pairs, en zodra ik in een template {name} tegenkom, wil ik deze vervangen door de value die bij key name hoort.

1
2
3
4
5
6
<?php
    $content 
" HOI! : {edwin}";
    
$vars = array("edwin");
    
$content eregi_replace("{([a-zA-Z0-9]*)}",$vars['\\1'],$content); 
    echo 
$content;
?>


Output: HOI! :

Rara wat doe ik fout, ik zie het niet iig...
pi_58999828
Die $vars is helemaal geen assoc.array maar gewoon een lijst met slechts 1 element...
pi_59000477
quote:
Op donderdag 29 mei 2008 22:34 schreef Farenji het volgende:
Die $vars is helemaal geen assoc.array maar gewoon een lijst met slechts 1 element...

Mja, als ik dit probeer:

1
2
3
4
5
6
<?php
    $content 
" HOI! : {name}";
    
$vars = array("name" => "edwin");
    
$content eregi_replace("{([a-zA-Z0-9]*)}",$vars["name"],$content); 
    echo 
$content;
?>


Werkt het prima.

Doe ik echter dit:

1
2
3
4
5
6
<?php
    $content 
" HOI! : {name}";
    
$vars = array("name" => "edwin");
    
$content eregi_replace("{([a-zA-Z0-9]*)}",$vars['\\1'],$content); 
    echo 
$content;
?>


Gebeurt er niks......het lijkt wel alsof hij de '\\1' waarde niet goed interpreteert.....
pi_59001014
Logisch. Eerst wordt $vars['\\1'] ge-evalueerd, daarna wordt de regexp uitgevoerd.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')