login  Naam:   Wachtwoord: 
Registreer je!
 Forum

sql niet laatste id tonen

Offline edwin87 - 12/10/2006 17:09
Avatar van edwin87Nieuw lid goeden avond inmiddels,

ik ben bezig met een nieuws systeem.

Nu heb ik boven mooi het nieuwste bericht met een kleine intro tekst.

Nu wil ik daaronder graag alle id's behalve het nieuwe id aangezien die daarboven al staat.

Daaronder komen dus alleen de titels te staan die doorverwezen worden naar dat id(bericht)

welke query moet ik dan gebruiken?

bij voorbaat dank,

Edwin

9 antwoorden

Gesponsorde links
Offline Martijn1989 - 12/10/2006 17:22
Avatar van Martijn1989 PHP ver gevorderde
  1. <?php
  2.  
  3. $select1 = mysql_query("SELECT * FROM `tabel` ORDER BY `id` DESC LIMIT 0,1") or die (Mysql_Error());
  4. $obj1 = mysql_fetch_assoc($select1);
  5.  
  6. $select = mysql_query("SELECT * FROM `tabel` WHERE `id` != '". $obj1['id'] ."' ORDER BY `id` DESC") or die (Mysql_Error());
  7. $obj = mysql_fetch_assoc($select);
  8.  
  9. ?>


Misschien niet netjes maar dit doet het wel!
Offline Dark_Paul - 12/10/2006 17:23 (laatste wijziging 12/10/2006 17:25)
Avatar van Dark_Paul PHP ver gevorderde
  1. <?php
  2. $qcount = mysql_query("SELECT id FROM <tabel>");
  3. $count = mysql_num_rows($qcount);
  4. $qnews = mysql_query("SELECT * FROM <tabel> LIMIT 1, ".$count." ");
  5. while ($res = mysql_fetch_array($qnews)) {
  6. // nieuwsberichten tonen
  7. }
  8. ?>

Er zal vast een manier zijn om dit in één query te doen, maar dat weet ik zo niet.
Iets te laat.
Offline edwin87 - 12/10/2006 17:25 (laatste wijziging 12/10/2006 17:29)
Avatar van edwin87 Nieuw lid okee maar nu geeft hij het nieuwste id weer! dat is niet de bedoeling

hij moet alles laten zien behalve het nieuwste id!

of ik doe iets fout?
  1. <?php
  2. $qcount = mysql_query("SELECT id,titel FROM nieuws");
  3. $count = mysql_num_rows($qcount);
  4. $qnews = mysql_query("SELECT * FROM nieuws LIMIT 1, ".$count." ");
  5. while ($res = mysql_fetch_array($qnews)) {
  6. // nieuwsberichten tonen
  7.  
  8.  
  9. ?>
  10. <table id="nieuws" width="100%"><tr>
  11. <td class="titel"><?php echo"$res[titel]";?></td></tr>
  12.  
  13. </table>
  14.  
  15.  
  16.  
  17. <?php
  18. }
  19. ?>
Offline Rens - 12/10/2006 17:45
Avatar van Rens Gouden medaille

Crew algemeen
Je kunt ze net zo goed allemaal ophalen?
En dan knal je zoiets in je while loop:
  1. <?PHP
  2. // query uitvoeren
  3. $bEerste = true;
  4. while($aFetch = MySQL_Fetch_Assoc($rResult))
  5. {
  6. if($bEerste)
  7. {
  8. // het eerste bericht
  9. // doe er wat anders mee dan met de rest
  10. } else
  11. {
  12. // de rest van de berichten
  13. }
  14. }
  15. ?>

Gewoon met 1 query...
Offline edwin87 - 12/10/2006 17:50
Avatar van edwin87 Nieuw lid ik snap niet helemaal wat je bedoeld, kun je het misschien duidelijker uitleggen?
zoals ik al zei was ik een beginner 
Offline Rens - 12/10/2006 17:53 (laatste wijziging 12/10/2006 18:01)
Avatar van Rens Gouden medaille

Crew algemeen
Je maakt een query die alle berichten ophaalt.
  1. <?PHP
  2. $sQuery = "SELECT * FROM nieuws ORDER BY id DESC";
  3. if(!$rResult = MySQL_Query($sQuery))
  4. {
  5. echo MySQL_Error()." on line ".(__LINE__-3);
  6. } else
  7. {
  8. $bEerste = true;
  9. while($aFetch = MySQL_Fetch_Assoc($rResult))
  10. {
  11. if($bEerste)
  12. {
  13. // We zitten nu bij het eerste bericht
  14. echo subStr($aFetch['bericht'], 0, 100);
  15. $bEerste = false;
  16. } else
  17. {
  18. // Het eerste bericht is al geweest
  19. echo $aFetch['titel'];
  20. }
  21. }
  22. }
  23. ?>

Wel moet je even de html voor tabellen er nog bij zetten en je veldnamen aanpassen in deze code.

Ik hoop dat je nu snapt wat er gebeurd?
Offline Dani - 12/10/2006 22:02 (laatste wijziging 12/10/2006 22:03)
Avatar van Dani PHP gevorderde Waarom zo moelijk ?
  1. <?PHP
  2. $query = "SELECT * FROM nieuws ORDER BY id DESC";
  3. if($resultset = mysql_query($query)) {
  4. if ($data = mysql_fetch_assoc($resultset)) {
  5.  
  6. // het eerste bericht
  7.  
  8. while($data = mysql_fetch_assoc($resultset)) {
  9.  
  10. // de andere berichten
  11.  
  12. }
  13. }
  14. }
  15. ?>
Offline Thomas - 13/10/2006 10:13
Avatar van Thomas Moderator Euhm... Je kunt toch gewoon LIMIT 1,<groot_getal> gebruiken?

  1. SELECT *
  2. FROM nieuws
  3. ORDER BY id DESC
  4. LIMIT 1, 999999


?
Offline edwin87 - 13/10/2006 10:14
Avatar van edwin87 Nieuw lid hier was ik inmiddels ook al achtergekomen haha eigenlijk gigantisch simpel. Iedereen in ieder geval bedankt.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.351s