Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Autonumerowanie wyników z MySQL
Forum PHP.pl > Forum > Przedszkole
LifeGuard
witam

Jak zrobić autonumerację wierszy w tabeli wyników z bazy danych?
nie chce numeru id tylko numerację dodawaną w php, niezależną od bazy
Id po usunięciu rekordu się nie zwalnia

aha i jeszcze fajnie by było żeby im wyższy id tym L.p. mniejsza

+-----+------------------+----------+
| L.p. | auta_wymień | coś tam |
+-----+------------------+----------+
| 1... | wynik tabeli 1 | coś tam |
| 2... | wynik tabeli 2 | coś tam |
| 3... | wynik tabeli 3 | coś tam |
+-----+------------------+----------+
tvister
$i = mysqli_num_rows - ile rekordów z zapytania
Później dekrementujesz $i-- i łączysz ze string-iem.
LifeGuard
Cytat(tvister @ 10.12.2009, 11:28:54 ) *
$i = mysqli_num_rows - ile rekordów z zapytania
Później dekrementujesz $i-- i łączysz ze string-iem.


mam taki kod:
  1. cs = mysql_query("SELECT w.id_wyp, a.model, DATE_FORMAT(w.od, '%Y-%m-%d %H:%i') AS od, DATE_FORMAT(w.do, '%Y-%m-%d %H:%i') AS do, w.klient, w.telefon FROM w_wypozyczenia as w INNER JOIN w_auta as a ON a.id_auta = w.id_auta ORDER BY w.id_wyp DESC" );
  2. while ($csrow = mysql_fetch_array($cs, MYSQL_ASSOC)) {
  3.  
  4. $s_id = $csrow["id_wyp"];
  5. $s_model = $csrow["model"];
  6. $s_od = $csrow["od"];
  7. $s_do = $csrow["do"];
  8. $s_klient = $csrow["klient"];
  9. $s_telefon = $csrow["telefon"];
  10. $row_cnt = mysqli_num_rows($cs);
  11.  
  12.  
  13. echo "<tr><td>".$row_cnt."</a></td><td ><b>".$s_model."</b></td><td >".$s_od."</td><td >".$s_do."</td ><td>".$s_klient."</td ><td>".$s_telefon."</td><td>".$ddd."</td>";
  14. }echo "</table>";


i nie działa :/

wywala: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, resource given in

nospor
W kodzie co tu pokazales nie masz nigdzie mysqli_num_rows() zas komunikat bledy wyraźnie mowi ze tam masz problem...
poza tym komunikat bledy podal ci co powinno byc mysqli_num_rows() a co ty źle dajesz
blooregard
To dajesz PRZED while
  1. $row_cnt = mysqli_num_rows($cs);


a w while (ale po 'echo'):
  1. ...
  2. $row_cnt++;
  3. ...
piotrooo89
może tak:

  1. $i =1;
  2. while ($csrow = mysql_fetch_array($cs, MYSQL_ASSOC)) {
  3.  
  4. $s_id = $csrow["id_wyp"];
  5. $s_model = $csrow["model"];
  6. $s_od = $csrow["od"];
  7. $s_do = $csrow["do"];
  8. $s_klient = $csrow["klient"];
  9. $s_telefon = $csrow["telefon"];
  10. $row_cnt = mysqli_num_rows($cs);
  11.  
  12.  
  13. echo "<tr><td>".$i."</td><td ><b>".$s_model."</b></td><td >".$s_od."</td><td >".$s_do."</td ><td>".$s_klient."</td ><td>".$s_telefon."</td><td>".$ddd."</td>";
  14. $i++;
  15. }
LifeGuard
ok działa numeracja:
  1. $i =1;
  2. $row_cnt = mysqli_num_rows($cs);
  3. while ($csrow = mysql_fetch_array($cs, MYSQL_ASSOC)) {
  4. $s_id = $csrow["id_wyp"];
  5. $s_model = $csrow["model"];
  6. $s_od = $csrow["od"];
  7. $s_do = $csrow["do"];
  8. $s_klient = $csrow["klient"];
  9. $s_telefon = $csrow["telefon"];
  10.  
  11. echo "<tr><td>".$i."</td><td ><b>".$s_model."</b></td><td >".$s_od."</td><td >".$s_do."</td ><td>".$s_klient."</td ><td>".$s_telefon."</td><td>".$ddd."</td>";
  12. $i++;


ale błąd jak wyskakiwał tak wyskakuje...
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, resource given in

o jaki parametr chodzi w mysqli_num_rows() ?
piotrooo89
napisałeś mysqli_num_rows a pewnie operujesz na bazie MySQL'a.

ps. średnio wydajne jest zliczanie rekordów po stronie pasera PHP.
LifeGuard
Cytat(piotrooo89 @ 10.12.2009, 13:05:20 ) *
napisałeś mysqli_num_rows a pewnie operujesz na bazie MySQL'a.

ps. średnio wydajne jest zliczanie rekordów po stronie pasera PHP.


Tak operuję MySQL'em
jednak chyba nie potrzebuję funkcji do zliczania rekordów, numerację załatwiłem

tym co podpowiedziałeś mi wcześniej

  1. $i =1;
  2. echo "<tr><td>".$i."</td><td ><b>".$s_model."</b></td><td >".$s_od."</td><td >".$s_do."</td ><td>".$s_klient."</td ><td>".$s_telefon."</td><td>".$ddd."</td>";
  3. $i++;
  4. }


numeracja jest i gitarka... tu nie chodzi o żadne statystyki, tylko o to żeby użytkownik spoglądając na sam dół tabeli wiedział ile jest rekordów i żeby był wizualnie porządek

dzięki za szybką reakcję chłopaki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.