Laatste, een naar laaste etc. uit MYSQL halen

Status
Niet open voor verdere reacties.

Stinuz

Terugkerende gebruiker
Lid geworden
14 jun 2003
Berichten
1.245
Hoi, is er een MYSQL SELECT code om de laaste, een-naar-laatste en de daarvoor toegevoegde ID uit een MYSQL database te halen?

Ik weet dat je op de volgende manier de laaste 3 op kan roepen:

PHP:
$tabelQuery = "SELECT * FROM downloads ORDER BY id desc LIMIT 3";
$tabelResult = mysql_query($tabelQuery) or die (mysql_error());

Maar het rpobleem is dan dat hij bijvoorbeeld 3 maal dezelfde code laat zien maar dan dus met telkens de verschillende ID als inhoud. Mijn probleem is dat alle 3 de kopjes hun eigen afbeelding hebben en dus kan ik het niet zo doen.

Is er een manier om dit voor elkaar te krijgen? :confused:
 
Hoe kan hij 3x dezelfde resultaten geven als je per ID een andere download hebt?

Ik neem aan dat bij elke nieuwe ID de naam van de download anders hoort te zijn, als dat niet zo is zul je je database structuur aan moeten passen want LIMIT 3 is de meest makkelijke optie :confused:

Geef anders even een voorbeeld van de inhoud van de database waarbij je problemen krijgt...
 
Ik krijg niet 3 keer dezelfde resultaten maar wel 3 keer dezelfde HTML code waar het resultaat in staat... ik zal proberen het iets duidelijker uit te leggen :)

Ik heb bijvoorbeeld 3 tabellen gemaakt, tabel 1 heeft als afbeelding 1.jpg, tabel 2 heeft 2.jpg en tabel 3 heeft 3.jpg.

Nu komt er onder de afbeeldingen het volgende om de gegevens uit de database te halen, de tabellen komen er dus zo uit te zien:

1
PHP:
<img src=1.jpg><br>
'. $name .'<br>
'. $txt .'
2
PHP:
<img src=2.jpg><br>
'. $name .'<br>
'. $txt .'
3
PHP:
<img src=3.jpg><br>
'. $name .'<br>
'. $txt .'

Maar als ik nu wil zorgen dat de laatste 3 toegevoegde ID's worden getoond krijg ik dus dit:

PHP:
$tabelQuery = "SELECT * FROM downloads ORDER BY id desc LIMIT 3";
$tabelResult = mysql_query($tabelQuery) or die (mysql_error());

  while($tabelRow = mysql_fetch_array($tabelResult))
  {
extract($tabelRow); 

echo'

<img src=1.jpg><br>
'. $name .'<br>
'. $txt .'

En dan heb ik het probleem dat hij bij alle 3 de ID's 1.jpg als abfeelding laat zien, en dat isn iet de bedoeling. Snap je?
 
Waarom geef je niet een counter mee dan?
PHP:
//Counter die bijhoudt welke afbeelding moet komen.
$counter = 1;

//Query
$tabelQuery = "SELECT * FROM downloads ORDER BY id desc LIMIT 3";
$tabelResult = mysql_query($tabelQuery) or die (mysql_error());

while($tabelRow = mysql_fetch_array($tabelResult))
{
  extract($tabelRow); 
  echo'<img src="'. $counter .'.jpg" /><br />'. $name .'<br />'. $txt .'';
  //Counter met 1 verhogen
  $counter++;
}
 
Ook dat gaat helaas niet werken. De tabellen zien er zo uit:

mysqlselect.JPG


Zoals je kan zien is de onderste tabel een stuk groter dan de bovenste 2. :confused:
 
Dan snap ik niet waarom je met die code kwam, ik ging ervanuit dat die klopt qua implementatie maar dat het niet goed kwam met die afbeeldingen:(

Waarschijnlijk is die grote eentje die als extra attribuut colspan="2" heeft... Kwestie van juist implementeren.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan