Hoi,
Op het moment ben ik bezig met een scriptje, maar wil niet helemaal werken zoals ik het graag wil. Het is de bedoeling om één keer een aantal rows uit het database te halen en deze vaker te verwerken.
Dit is de code die ik wil gebruiken:
Maar als ik dat doe, dan geeft hij maar één keer de namen, wat opzich logisch is aangezien hij $result al volledig heeft doorlopen en het while-statement dus niet meer klopt.PHP Code:
$sql = "SELECT * FROM tabel_naam";
$result = mysql_query($sql) or die(mysql_error());
for($i = 0; $i < $x; $i++){
while($row = mysql_fetch_assoc($result)){
echo $row[naam];
}
}
Dus heb ik dit geprobeert:
Hij ververst result dus elke keer, maar dit geeft dezelfde uitkomst.PHP Code:
$sql = "SELECT * FROM tabel_naam";
$result = mysql_query($sql) or die(mysql_error());
$help = $result;
for($i = 0; $i < $x; $i++){
$result = $help;
while($row = mysql_fetch_assoc($result)){
echo $row[naam];
}
}
Het is me wel gelukt om het te laten werken op deze manier:
Alleen nou selecteert hij meerdere keren de rows en dat lijkt me wat inefficiënt. Ik vroeg me dus af of er een manier is om de resultaten vaker te verwerken zonder ze steeds opnieuw moeten opvragen?PHP Code:
for($i = 0; $i < $x; $i++){
$sql = "SELECT * FROM tabel_naam";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
echo $row[naam];
}
}
Ik snap trouwens niets van de logica hier achter. In principe moeten manier 1, 2 en 3 precies hetzelfde zijn. Als je er tenminste vanuit gaat dat mysql_fetch_assoc $result hetzelfde laat en de "aanpassing" opslaat in $row.
Maar zelfs als dat niet zo is, dan zou manier 2 moeten werken aangezien die steeds opnieuw $result terug zet wat precies hetzelfde is als manier 3.
Misschien dat er een soort van id aan de resultaten wordt gekoppeld ofzo?
(ik heb het code zo klein mogelijk gemaakt. Dit is ds niet de werkelijkheid, maar gaat om het idee)
Alvast bedankt:)
Johan
- [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
-
28-02-2011, 23:33 #1
- Berichten
- 603
- Lid sinds
- 16 Jaar
[MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Laatst aangepast door Johan Vliegenthart : 28-02-2011 om 23:40
-
-
28-02-2011, 23:43 #2
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Hoi Johan,
Ik zit even je codes te bekijken, je zegt dat de laatste code werkt maar dan open je een query in een for loop wat betekent dat $x bepaald hoevaak de query geopend wordt en dat is niet de bedoeling.
Ik weet niet zeker maar is het onderstaande geen oplossing, of in die trend:
PHP Code:
$sql = "SELECT * FROM tabel_naam";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
for($i = 0; $i < $x; $i++)
{
echo $row[naam];
}
}
-
28-02-2011, 23:50 #3
- Berichten
- 603
- Lid sinds
- 16 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Bedankt voor je reactie Sjoerd:)
Maar op deze manier wordt de $row[naam] meerdere keren achter elkaar weergeven ipv dat de lijst vaker wordt weergeven.
Dit is wat jou code doet:
Kees
Kees
Kees
Piet
Piet
Piet
De bedoeling is:
Kees
Piet
Kees
Piet
Kees
Piet
$x staat ergens anders gedefinieerd en die geeft aan hoevaak de lijst weergeven moet worden.
-
01-03-2011, 00:04 #4
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Bij de huidige code die je gebruikt:
PHP Code:for($i = 0; $i < $x; $i++){
$sql = "SELECT * FROM tabel_naam";
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)){
echo $row[naam];
}
}
Jij wilt dat de resultaten 3x gekopieerd worden onder elkaar met 1 query toch?
De oplossing moet ik je nog even schuldig houden, maar probeer met morgen uit als ik weer aan het programmeren ben.
-
01-03-2011, 00:14 #5
- Berichten
- 603
- Lid sinds
- 16 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Dat klopt inderdaad. Maar met niet de beste php code bedoel je dat ik de query 3 keer uitvoer (daar ben ik het mee eens)?
-
01-03-2011, 00:17 #6
- Berichten
- 1.245
- Lid sinds
- 18 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Ja, klopt. Ik kijk hier mee weer even na Johan.
Goedenacht!
-
01-03-2011, 00:59 #7
64BitsWebhosting.EU
- Berichten
- 2.085
- Lid sinds
- 18 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Gebruik de funktie mysql_data_seek() gewoon om terug te springen naar het begin van de resultset. Niet zo lastig doen :)
-
01-03-2011, 01:22 #8
- Berichten
- 603
- Lid sinds
- 16 Jaar
Re: [MYSQL/PHP] Geselecteerde rows meerdere malen verwerken
Haha, dan moet je de functie wel kennen:) Bedankt voor de oplossing:D
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic