ďťż

[php] zwiększanie wartości o 1 i pole select

       

Podstrony


telcocafe

Witam !

Na wstępie zaznaczam że szukałem, ale szczerze powiem że nawet nie za bardzo wiem jak sformuować zapytanie, a to co znalazłem niestety w niczym mi nie pomogło.

Pytanie nr 1
Pobieram dane z bazy i wyświetlam w tabelce w ten sposób:
<?php $query=mysql_query("SELECT * FROM lista"); if(!empty($query)){ while($row=mysql_fetch_array($query)){ $tl=$row["tytul"]; $nz=$row["nazwa"]; $dt=$row["data"]; echo "<tr>"; echo "<td width=25>1</td>"; //jak dynamicznie zwiększyć tę wartość ? echo "<td width=200>"; echo "$tl"; echo "</a></td>"; echo "<td width=200>"; echo "$nz"; echo "</td>"; echo "<td width=70>"; echo "$dt"; echo "</td>"; echo "</tr>"; } } ?>

wszystko działa, ale mam mały problem z czym innym. W linijce echo "<td width=25>1</td>"; chciałbym aby ta wartość (1) była zwiększana dynamicznie, tzn. jeśli w tabeli znajdzie się 20 wierszy chciałbym aby w każdym kolejnym wierszu cyfra była zwiększona o 1 (tak na marginesie kolumna nazywa się Lp.) Próbowałem pobierać dane z pola id, ale nie przynosi to oczekiwanych rezultatów - jeśli skasuje kilka początkowych rekordów, wartości pól id nie zmiejszą się... Podejrzewam że trzeba zastosować jakąś pętlę, ale wszystko co do tej pory kombinowałem nie przynosiło oczekiwanych rezultatów.
A założę się że sprawa jest banalnie prosta...

Drugie pytanie dotyczy pola formularza select. Mam takie coś:
<?php echo "<form method=POST action=index.php>"; echo " sortuj: "; echo "<select size=1 name=method>"; echo "<option value=asc>Rosnąco</option>"; echo "<option value=desc>Malejąco</option>"; echo  "</select>"; echo "<input type=submit value=Sortuj name=B1>"; echo "</form>"; echo "metoda sortowania: " . $_POST[method] . "<br>"; ?>

Wszystko działa, ale... po wykonaniu skryptu pole select wraca do wartości początkowej (rosnąco), a chciałbym, aby wartość pola select uzależniona była od wyboru użytkownika, który kliknął przycisk Sortuj. Da się tak wogóle zrobić ?



Ad 1.
wstaw np $i++ i z tego pobieraj dane
$i=0; while($row=mysql_fetch_array($query)){ $tl=$row["tytul"]; $nz=$row["nazwa"]; $dt=$row["data"]; $i++; echo "<tr>"; echo "<td width=25>".$i."</td>"; echo "<td width=200>"; echo "$tl"; echo "</a></td>"; echo "<td width=200>"; echo "$nz"; echo "</td>"; echo "<td width=70>"; echo "$dt"; echo "</td>"; echo "</tr>"; } }

Ad.2
if($_POST['method']=='desc') echo "<option value=asc >Rosnąco</option>"; echo "<option value=desc selected>Malejąco</option>"; else echo "<option value=asc selected>Rosnąco</option>"; echo "<option value=desc>Malejąco</option>";
Użytkownik ursus6 edytował ten post 28 listopad 2005, 12:16
Dzięki, działa, wiedziałem że to będzie proste, ale nie wiedziałem że aż tak... a przyznam że nawet podobnie kombinowałem, ale nie chciało mi działać.

Jeszcze raz wielkie dzięki, bardzo mi pomogłeś.

Pozdrawiam

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.