Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyświetlanie rekordów MySQL z warunkiem
adi456
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 21.01.2010
Skąd: Nowy Sącz

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


Witam, proszę o wyrozumiałość jestem amatorem.

Nie mogę poradzić sobie z modyfikacją skryptu która miała by na celu wyświetlanie rekordu "inne" tylko wtedy gdy rekord "nowy" będzie zawierał słowo "tak"
kombinowałem z if ($nowy = tak) ale moja wiedza jest za mała by sobie z tym poradzić, proszę o pomoc.

$i=0;
while ($i < $num) {

$model=mysql_result($result,$i,"model");
$nowy=mysql_result($result,$i,"nowy");
$inne=mysql_result($result,$i,"inne");

echo "
<table border='1' style='border-collapse: collapse;' >
<tr>
<td>$model</td>
<td>$nowy</td>
<td>$inne</td>
</tr>
</table>

";

$i++;
}
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Po pierwsze: mysql_result jest wolną funkcją i nawet manual zaleca jego zaniechanie na korzyść takich jak mysql_fetch_assoc, mysql_fetch_object, mysql_fetch_array, mysql_fetch_row.
Jeśli użyjesz ich, to rozpoznanie skróci się mocno.
  1. while( $wiersz = mysql_fetch_assoc($result) ) {
  2. if( $wiersz['nowy'] == 'tak' ) {
  3. //tu sobie wyświetlaj co chcesz
  4. } else {
  5. continue;
  6. }
  7. }
Widzisz różnicę? Brak liczników, brak dodatkowego definiowania zmiennych. Wszystko wewnątrz $wiersz jest. Najbardziej istotne jest tu użycie continue, które wiele osób zapomina lub nie wie, że istnieje. Wielu zna break za to przy case choćby. Ta której użyłem nie jest zbyt powszechna, choć godna uwagi, bo od razu kieruje do następnego kroku pętli. Patrz na kod tutaj na forum pisany przez zaawansowanych userów, a sam zobaczysz, że jest wiele ciekawych rozwiązań. Temat z racji prostoty przenoszę na Przedszkolę, bo PHP to dla niego stanowczo za dużo (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 7.10.2025 - 08:05