login  Naam:   Wachtwoord: 
Registreer je!
 Forum

regelnummers

Offline webbiexl - 25/01/2007 13:48
Avatar van webbiexlPHP interesse Weet iemand hoe ik regelnummers kan toevoegen?

Ik heb voor mezelf een DVD systeem gebouwd, en alle records zet ie netjes in rijen tot 20 max en dan volgende pagina (pagesystem)... maar nu wil ik ze genummerd hebben, maar wel zodat ik als ik naar een dvd zoek hij zijn gevonden dvd's ook gewoon nummerd... ik kan ook de alfabetische volgorde veranderen en dan moeten ook de nummer gewoon 1 - 10 gewoon staan op volgorde en niet zoals ik nu heb op id dat alles door elkaar heb staan (erg verwarrend)

voorbeeld
1. dvd a
2. dvd b
3. dvd c

1. dvd b
2. dvd c
3. dvd a

en niet

2. dvd b
3. dvd c
1. dvd a

snappie? 

8 antwoorden

Gesponsorde links
Offline Grayen - 25/01/2007 13:53
Avatar van Grayen PHP ver gevorderde kan je niet gewoon met <ol> gaan werken? of heb je het nummer ergens voor nodig?
Offline webstab - 25/01/2007 13:54 (laatste wijziging 25/01/2007 13:56)
Avatar van webstab PHP ver gevorderde Gewoon in je tabel een id bijhouden en dat mee afdrukken? Of bedoel je iets anders?

Of
  1. <?php
  2. // voorbeeldcode... niet gewoon copy-pasten
  3. $dvd = array("","dvd a","dvd b","dvd c");
  4. for ($i=1;$n;$i++) {
  5. echo $i;
  6. echo $dvd[$i]:
  7. }
  8. ?>
Offline Nrzonline - 25/01/2007 14:10 (laatste wijziging 25/01/2007 14:18)
Avatar van Nrzonline PHP ver gevorderde Als ik jouw goed snap heb je een query met daarin je aantal DVDs.
Als je deze bijvoorbeeld echoëd hebt in een table, krijg je bijvoorbeeld zoiets: ($aantal = aantal dvd's als array in query)

  1. <?PHP
  2. for ($i = 0; $i < count ($aantal); $i++)
  3. {
  4. echo '<tr>';
  5. echo '<td>[ NAAM DVD ]</td>';
  6. echo '<td>[ UITGEVER ]</td>';
  7. echo '<tr>';
  8. }
  9. ?>


Zou bijvoorbeeld geven:
[ Looney Toons ] [ Walt Disney ]
[ Saw 3 ] [ WeetIkVeel Pictures ]

als je daarvan bijvoorbeeld maakt:
  1. <?PHP
  2. for ($i = 0; $i < count ($aantal); $i++)
  3. {
  4. echo '<tr>';
  5. echo '<td>[ #' . $i . ' ]</td>';
  6. echo '<td>[ NAAM DVD ]</td>';
  7. echo '<td>[ UITGEVER ]</td>';
  8. echo '<tr>';
  9. }
  10. ?>


krijg je zoiets...
[# 1] [ Looney Toons ] [ Walt Disney ]
[# 2] [ Saw 3 ] [ WeetIkVeel Pictures ]

Nu kan je met behulp van de pagina systeem met de beginwaarden uit de $_GET het pagina nummer ophalen. (Offspring; natuurlijk wel controleren als ie bestaat, zoniet.. $offspring = 0;)

Als bijvoorbeeld pagina = 2 (2e pagina, dus niet 3 pagina's zoals array), zal je $offspring = ($_GET['pagina']*$maxperpagina); bij het getal optellen wat voor dvd-gegevens moet komen te staan.

Zoals dit bijvoorbeeld:
we zitten op pagina: http;//mijnpagina.nl/dvd/pagina=2
  1. <?PHP
  2.  
  3. $iMaxPerPagina = 20;
  4.  
  5. if (isset ($_GET['pagina']) && is_numeric ($_GET['pagina']))
  6. {
  7. $iPagina = $_GET['pagina'];
  8. }
  9. else
  10. {
  11. $iPagina = 0;
  12. }
  13.  
  14. $iOffspring = ($iPagina*$iMaxPerPagina);
  15.  
  16. // Je Query (Nu genoemd $sQuery) etc, in samenwerking met je $iOffspring..
  17.  
  18. for ($i = 0; $i < count ($sQuery); $i++)
  19. {
  20. echo '<tr>';
  21. echo '<td>[ #' . ($i+$iOffspring) . ' ]</td>';
  22. echo '<td>[ NAAM DVD ]</td>';
  23. echo '<td>[ UITGEVER ]</td>';
  24. echo '<tr>';
  25. }
  26. ?>


Dit zal dus (als het goed is) hetvolgende weergeven..
[# 21] [ Looney Toons ] [ Walt Disney ]
[# 22] [ Saw 3 ] [ WeetIkVeel Pictures ]

Niet getest dus kan (domme) fouten bevatten, maar hopelijk geeft dit een indicatie hoe je het kan doen.. tenminste, als je dit bedoeld

@webstab, bij jouw scriptje zet hij alleen elke keer 1 t/m 20 bij op elke pagina, omdat je geen rekening houd met op welke pagina je zit... Dat zal dus berekend moeten worden, en bij elkaar opgeteld.. Of zie ik dat nou verkeerd? (Ps. Ik wil niet zeggen dat mijne werkt hoor! Maar ik hoop het wel ;))
Offline webbiexl - 25/01/2007 14:29
Avatar van webbiexl PHP interesse ok bedankt ik zal een kijken of ik het werkend krijg dit idd wat ik bedoel, tenminste als het nummer niet bij een bepaalde dvd blijft hangen 
Offline Thomas - 25/01/2007 14:32
Avatar van Thomas Moderator Dit vraagstuk is al vaker teruggekomen, je wilt je tabel op een manier sorteren die (waarschijnlijk) niet te vangen is door op een of meer kolommen op- of aflopend te sorteren.

Je kunt een kolom toevoegen waarin je de volgorde zelf aangeeft, of je probeert dit.
Offline webbiexl - 25/01/2007 15:44 (laatste wijziging 25/01/2007 15:46)
Avatar van webbiexl PHP interesse nee niet bepaald nee... ik wil gewoon regelnummers toevoegen... wat je ziet bij phpcode weet je wel alleen dan niet zo... nrzonline zit goed in de buurt

het loopt nu via id (op volgorde van id) maar dat is lastig zoeken ik wil het op alfabet, maar met id als regelnummer wordt dat heel verwarrend
Offline Ibrahim - 25/01/2007 15:47
Avatar van Ibrahim PHP expert
  1. <?php
  2. $regelnummer = 1;
  3.  
  4. while(....)
  5. {
  6. echo $regelnummer . $fetch['...'] . '<br />';
  7. $regelnummer++;
  8. }


zoiets ?
Wil jij nou per nieuwe regel een nummer, of per record ?
Offline Mad_Mike - 25/01/2007 15:50
Avatar van Mad_Mike PHP beginner bedoel jij dan niet gewoon zoiets:

  1. <?
  2. $intNummertje = 1;
  3.  
  4. $strQuery = "je_mooie_query";
  5. $objResult = mysql_query($strQuery) or die(mysql_error());
  6. $intResult = mysql_num_rows($objQuery);
  7.  
  8. if($intResult < 1)
  9. {
  10. echo "Geen resultaat";
  11. }
  12. else
  13. {
  14. while($arrResult = mysql_fetch_array($objQuery))
  15. {
  16. echo $intNummertje." ".$arrResult['titel_van_film']."<br />";
  17. $intNummertje++;
  18. }
  19. }
  20.  
  21. ?>
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.241s