1 2 3 4 5 6 7 | $records=array(); while ($row = mysql_fetch_array($res)) { $records[]=$row; print_r($row); } |
en hoe prop ik dit er dan bij?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 ]
1 2 3 4 5 6 7 8 9 10 | 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"; } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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"; } ?> |
Welk linkje?quote:Op donderdag 29 mei 2008 14:31 schreef ursel het volgende:
[..]
Overigens staat er ook deze warning op je linkje :
[..]
Ik snap er geen fuck meer van..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.
1 2 3 4 5 6 7 | while ($row = mysql_fetch_assoc($res)) { $records[]=$row; print_r($row); } ?> |
1 2 3 4 | $records[]=$row; echo $records["wid"]; ?> |
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 | foreach ($records as $record) { printf("Wid is %s\n", record['wid']) } ?> |
eerst een syntax error, unexpected '[' in regel 3 (in dit geval dus) en daarna een syntax error, unexpected '} in regel 4quote:
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).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..
1 2 3 4 5 6 7 8 9 10 11 12 | $record = array('wid' => 1, 'wid2' => 2); $records[] = $record; $records[] = $record; print_r($records); foreach($records as $record) { printf("Wid is %s\n", $record['wid']); } |
Beetje laat, maar ik los dit soort of statements vaak op met een hash: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 ]
hmz..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)
1 2 3 4 5 6 7 | |wid | w | b | +----+----------+-----+ | 1 | wens1 | 0 | | 2 | wens2 | 0 | | 3 | wens3 | 1 | +----+----------+-----+ |
ja, wrom niet gewoon zo oplossen: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
1 2 3 4 5 6 7 8 9 10 11 12 13 | $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 } ?> |
dat werkt idd, thanksquote: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).
shuffle() bedoel je?quote:
Ik heb mbt tot deze code twee tabellen: euro_bet en euro_player.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.
ahquote:Op donderdag 29 mei 2008 17:52 schreef slacker_nl het volgende:
Demoest een teken zijn dat die post niet geheel serieus genomen kon worden.
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 dusquote: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..
1 2 3 4 5 6 | $content = " HOI! : {edwin}"; $vars = array("edwin"); $content = eregi_replace("{([a-zA-Z0-9]*)}",$vars['\\1'],$content); echo $content; ?> |
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...
1 2 3 4 5 6 | $content = " HOI! : {name}"; $vars = array("name" => "edwin"); $content = eregi_replace("{([a-zA-Z0-9]*)}",$vars["name"],$content); echo $content; ?> |
1 2 3 4 5 6 | $content = " HOI! : {name}"; $vars = array("name" => "edwin"); $content = eregi_replace("{([a-zA-Z0-9]*)}",$vars['\\1'],$content); echo $content; ?> |
Oke, en de beste oplossing zou zijn eerst een preg_match te doen? Of de variabele in een string-replace constructie te vervangen?quote:Op donderdag 29 mei 2008 23:09 schreef SuperRembo het volgende:
Logisch. Eerst wordt $vars['\\1'] ge-evalueerd, daarna wordt de regexp uitgevoerd.
Thanks, ga vanavond wel even kijkenquote:Op donderdag 29 mei 2008 23:33 schreef SuperRembo het volgende:
Je zou preg_replace_callback() kunnen gebruiken of preg_replace en dan een regexp met de 'e' modifier.
1 2 3 4 5 6 7 8 9 | $keys = array('naam1'=>'kees', 'naam2'=>'klaas'); $text = "Jantje, <b>{naam1}</b> en {naam2}"; foreach($keys as $what => $withwhat) $text = str_replace('{'.$what.'}', $withwhat, $text); echo $text; ?> |
Daar willen de meningen wel eens over verschillen. Ik ben iig al op onderzoek uitgeweest wat nu precies sneller is, maar blogs e.d spreken elkaar tegen hierover...quote:Op vrijdag 30 mei 2008 10:27 schreef ralfie het volgende:
wron draai je het niet om en gebruik je simpele str_replace waarbij je de search opbouwt met de array die je wil vervangen, iets als
[ code verwijderd ]
Stukken envoudiger, en waarschijnlijk ook veel sneller in uitvoeren...
De vraag is dan waarom jij duizenden waardes inlaadt die niet in de pagina voorkomenquote:Op vrijdag 30 mei 2008 10:29 schreef Scorpie het volgende:
[..]
Daar willen de meningen wel eens over verschillen. Ik ben iig al op onderzoek uitgeweest wat nu precies sneller is, maar blogs e.d spreken elkaar tegen hierover...
Ben het wel met je eens dat het een stuk eenvoudiger is. Echter wil ik niet dat ik straks een enorme array heb met letterlijk duizenden waardes die gecontroleerd worden maar die niet in de pagina voorkomen.
Maar goed, sowieso blijf ik sleutelen aan het ontwerp
Resultset die met paginering pas in de pagina opgenomen wordenquote:Op vrijdag 30 mei 2008 12:13 schreef ralfie het volgende:
[..]
De vraag is dan waarom jij duizenden waardes inlaadt die niet in de pagina voorkomen
1 2 3 4 | header("Location: http://www.site.nl/"); exit; ?> |
http://php.about.com/od/learnphp/ht/phpredirection.htmquote:Op zaterdag 31 mei 2008 00:14 schreef G.Fawkes het volgende:
Ik weet niet of er op dit typstip nog iemand online is in dit topic maar ik ben een echte maar dan ook totale php noob.
Ik wil dat als mijn mensen op mijn website (eyupciftci.nl) komen ze direct geredirect worden naar mijn blog (eyupciftci.nl/blog/) nu heb ik deze code ervoor gebruikt:
[ code verwijderd ]
maar dat resulteert niet in het desgewenste effect (zie mijn website) wat is er verkeerd?
Staat die code wel in een index.php? En heeft de server wel PHP-ondersteuning?quote:Op zaterdag 31 mei 2008 00:14 schreef G.Fawkes het volgende:
Ik weet niet of er op dit typstip nog iemand online is in dit topic maar ik ben een echte maar dan ook totale php noob.
Ik wil dat als mijn mensen op mijn website (eyupciftci.nl) komen ze direct geredirect worden naar mijn blog (eyupciftci.nl/blog/) nu heb ik deze code ervoor gebruikt:
[ code verwijderd ]
maar dat resulteert niet in het desgewenste effect (zie mijn website) wat is er verkeerd?
waarom haal je dan alle waardes op, en niet alleen de waardes die op je pagina staan?quote:Op vrijdag 30 mei 2008 12:16 schreef Scorpie het volgende:
Resultset die met paginering pas in de pagina opgenomen worden
1 2 3 4 5 6 7 8 9 10 11 12 13 | $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 } ?> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $result = mysql_query($query); $data = array(); while($row = mysql_fetch_array($result) { $data[] = $row; } if(!empty($data)) { shuffle($data) foreach($data as $item) { $wid = $item['wid']; $wens = $item['wens']; #more code here } } ?> |
quote:Op zaterdag 31 mei 2008 12:27 schreef qu63 het volgende:
[ code verwijderd ]
hoe krijg ik de resultaten geshuffled?
1 |
uiteindelijke code is dit geworden:quote:
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 | $query = "SELECT * FROM `wish`"; $result = mysql_query($query); $data = array(); while($row = mysql_fetch_array($result)) { $data[] = $row; } if(!empty($data)) { shuffle($data); foreach($data as $item) { $wid = $item['wid']; $w = $item['w']; $b= $item['b']; echo "<li type=\"circle\" dir=\"ltr\" lang=\"nl\">"; if ($b == 1)echo "<span style=\"text-decoration: line-through;\">"; echo "<a href=\"wl.php?wid=$wid&b=$b\">$w </a>"; if ($b == 1)echo "</span>"; echo "</li>\n"; } } ?> |
query was dus niet al te moeilijk in dit gevalquote:Op zaterdag 31 mei 2008 15:00 schreef Light het volgende:
[..]
Kan ook, hoewel ook afhankelijk van de query.
Niet als je The 'Reluctant Cache' Pattern principe toepast.quote:Op zaterdag 31 mei 2008 12:23 schreef Xcalibur het volgende:
[..]
waarom haal je dan alle waardes op, en niet alleen de waardes die op je pagina staan?
Dit is echt een compleet zinloze load van je server.... zeker als het om veel records gaat ga je dit echt wel merken...
leuk idee eigenlijkquote:Op woensdag 4 juni 2008 13:44 schreef PiRANiA het volgende:
Is er ergens een programma waar je CAPTCHA' s mee kan testen?
Ik ben vanmiddag een beetje bezig geweest, wat denken jullie?
1: [ afbeelding ]
2: [ afbeelding ]
3: [ afbeelding ]
4: [ afbeelding ]
1 2 3 4 5 6 7 8 9 | $raw_config = array( 'Title' => 'Pagina Titel', 'BaseHref' => 'http://www.pagina.nl', 'CmsTitle' => 'CMS titel', 'GuestBook' => 0, 'Poll' => 0 ); ?> |
1 2 3 4 5 6 | require_once('config.php'); if($raw_config[GuestBook]!=0){ include('includes/handle_guestbook.php'); } ?> |
1 |
Ik heb eigenlijk nooit wat gedaan met constantenquote:Op woensdag 4 juni 2008 19:03 schreef Xcalibur het volgende:
ja, quotjes vergeten dus
wat me gelijk op het volgende brengt: waarom gebruik je geen constanten?
Ik neem aan dat je configwaarden nooit wijzigen, en dus ook niet overschreven mogen / kunnen worden, ook niet per ongeluk of via een hack-attempt.
kan ik een constante op een zelfde manier gebruiken als een variabele? dus if(constantnaam=='iets')quote:Op woensdag 4 juni 2008 20:34 schreef Xcalibur het volgende:
goeie reden
maar die kan je dus niet meer wijzigen als ze eenmaal gedeclareerd zijn, vind ik wel een prettig idee voor mijn databaseconnectie enzo ;-)
Een variabele kun je dan weer unsetten. Dan is'ie echt weg en zelfs met echo $GLOBALS krijg je dan geen waarden meer te zien. Voordeel is dat je een db-connectie gemaakt kan worden, en na het maken van die connectie zijn de logingegens niet meer terug te vinden.quote:Op woensdag 4 juni 2008 20:34 schreef Xcalibur het volgende:
goeie reden
maar die kan je dus niet meer wijzigen als ze eenmaal gedeclareerd zijn, vind ik wel een prettig idee voor mijn databaseconnectie enzo ;-)
Ja. De constante dan niet tussen aanhalingstekens zetten natuurlijk (maar dat doe je nu ook goed).quote:Op woensdag 4 juni 2008 20:54 schreef Swetsenegger het volgende:
[..]
kan ik een constante op een zelfde manier gebruiken als een variabele? dus if(constantnaam=='iets')
Ja precies, want dat riep de manual over echo van constanten. Het werkt nuquote:Op woensdag 4 juni 2008 21:11 schreef Light het volgende:
[..]
Ja. De constante dan niet tussen aanhalingstekens zetten natuurlijk (maar dat doe je nu ook goed).
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |