Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Autonumerowanie wyników z MySQL, jak numerować wynik przedstawiony w tabeli
LifeGuard
post 10.12.2009, 11:24:12
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

Ostrzeżenie: (0%)
-----


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 |
+-----+------------------+----------+
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
tvister
post 10.12.2009, 11:28:54
Post #2





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


$i = mysqli_num_rows - ile rekordów z zapytania
Później dekrementujesz $i-- i łączysz ze string-iem.

Ten post edytował tvister 10.12.2009, 11:29:53


--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post
LifeGuard
post 10.12.2009, 12:42:12
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

Ostrzeżenie: (0%)
-----


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

Go to the top of the page
+Quote Post
nospor
post 10.12.2009, 12:51:35
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
blooregard
post 10.12.2009, 12:51:52
Post #5


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




To dajesz PRZED while
  1. $row_cnt = mysqli_num_rows($cs);


a w while (ale po 'echo'):
  1. ...
  2. $row_cnt++;
  3. ...


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
piotrooo89
post 10.12.2009, 12:52:07
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




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. }


Ten post edytował piotrooo89 10.12.2009, 12:52:57


--------------------
Go to the top of the page
+Quote Post
LifeGuard
post 10.12.2009, 13:04:04
Post #7





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

Ostrzeżenie: (0%)
-----


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() ?
Go to the top of the page
+Quote Post
piotrooo89
post 10.12.2009, 13:05:20
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




napisałeś mysqli_num_rows a pewnie operujesz na bazie MySQL'a.

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


--------------------
Go to the top of the page
+Quote Post
LifeGuard
post 10.12.2009, 13:10:52
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 2.05.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:37