PHP Select probleem.

Gestart doorKingunit4 reacties49 weergaven

5 berichten · pagina 1 van 1

Kingunit

Lid · Topicstarter

Berichten
10.409
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi,

Ik heb een probleempje wat ik nog nooit heb tegenkomen. Als ik een lijst uitdraai van alles uit de database en ik doe: SORT BY ID DESC, dan laat hij de laatst toegevoegde niet zien. Als ik SORT BY ID ASC doe, dan laat hij de laatste wel zien.

[COLOR= #0000BB]<?php
$result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"SELECT * FROM Maps ORDER BY ID DESC"[/COLOR][COLOR= #007700])[/COLOR] or [URL="http://www.php.net/die"]die[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/mysql_error"]mysql_error[/URL][COLOR= #007700]());[/COLOR]  
[COLOR= #0000BB]$row[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_array"]mysql_fetch_array[/URL][COLOR= #007700]([/COLOR] [COLOR= #0000BB]$result[/COLOR] [COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$row[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_array"]mysql_fetch_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$result[/COLOR][COLOR= #007700])) {[/COLOR]

[COLOR= #FF8000]// echo $row[name]; ..
// ..
// ..[/COLOR]

[COLOR= #007700]}[/COLOR]
?>


EDIT: Als ik later een nieuwe toevoeg komt die er wel, maar dan komt de nieuwste er niet meer te staan.
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik snap t niet
0
Kingunit

Lid · Topicstarter

Berichten
10.409
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Sorry, het is ook echt moeilijk om het te zeggen. Stel voor ik zet iets nieuws in mijn database, dan laat hij dat niet zien als ik ORDER BY ID DESC gebruik. Teven als ik ORDER BY ID ASC gebruik dan laat hij dat wel zien. Het staat wel in de database.

Het gekste is dat hij het later wel laat zien bij ORDER BY ID DESC als ik nog een record toevoeg. Ik heb de database al vaker gebruikt, dus ik snap niet waarom het nu niet gaat.

toevoeging op 27 februari 2012, 16:20:16:
Sorry, dom foutje van mij, oplossing:

[COLOR= #0000BB]<?php

            $sql[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]"SELECT * FROM Maps ORDER BY ID DESC"[/COLOR][COLOR= #007700];[/COLOR]
            [COLOR= #0000BB]$result[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_query"]mysql_query[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$sql[/COLOR][COLOR= #007700]);[/COLOR]
            [URL="http://www.php.net/while"]while[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$row[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/mysql_fetch_array"]mysql_fetch_array[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$result[/COLOR][COLOR= #007700])) {[/COLOR]

?>
0
Thom

Lid

Berichten
10.654
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Wat is nou het verschil? emo
0
Berichten
13.482
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hij deed bij de eerste al eens $row = mysql_fetch_array( $result ); vóór dat hij de while deed.
Hij vroeg bij de eerste dus eerst al de eerste rij op, daar deed hij niets mee, en hij ging verder bij de 2e rij, waarmee iets gebeurde in de while.

Dit heeft dus hetzelfde effect als "SELECT * FROM Maps ORDER BY ID DESC LIMIT 1,18446744073709551615" gebruiken (gewoon vanaf de 2e rij alles laten zien.)
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren