ďťż

[PHP/MySQL] Problemy z pętlą While i z wyświetlaniem wyników zapytania

       

Podstrony


telcocafe

Robie sobię małą wyszukiwareczkę. W bazie danych są 2 pola. Chcę aby po wpisaniu jakiegoś słowa, kod zwracał wartość w postaci napisu.
Pole z formularzem (typu text) nazywa się szukana.
<?php $polaczenie = mysql_connect("jakisadresl", "login", "haslo") or die("Błąd w połączeniu z serwerem bazy danych!"); mysql_select_db("baza"); $zapytanie = mysql_query("SELECT * FROM telefony", $polaczenie); $ilosc_wierszy = mysql_num_rows($zapytanie); $strona = <<< POCZATEK <br /> <br /> <b><font color="green"> <div align="center"> [<a href="wpisy.php">Zobacz wpisy ($ilosc_wierszy)</a>] [<a href="dodaj1.php">Dodaj wpis</a>] [<a href="szukaj.php">Szukaj</a>] [<a href="index.php">Główna</a>] </div> </font></b> POCZATEK; echo("$strona<br /><br /><b>Wynik szukania:</b><br /><br />"); $szukaj = mysql_query("SELECT * FROM telefony"); $ciag = mysql_fetch_array($szukaj); $szukaj2 = in_array($szukana, $ciag); while($szukaj2 == TRUE) { echo(" $ciag[opis]<br /> "); } mysql_close($polaczenie); ?>
Problem: Mam następujące wartości w bazie danych:

888888888 jakis
888888888 Ktoś inny
653564444 kolega

1. Gdy wpiszę np. "jakis" to pętla się zapętla i w nieskończoności mi wywala ten napis (bo jest w bazie). Dlaczego nie wyświetla mi raz tego napisu i jak to naprawić?
2. Przykładowo gdy wpiszę wyrażenie, które jest pierwsze w tabeli to mi wyświetla (w nieskończoności), a gdy wpiszę np. drugie wyrażenie (Kto inny) albo trzecie (kolega), to PHP nie zwraca mi wyniku. Dlaczego i jak się z tym uporać?



PODSTAWY!
select * from tabela where pole=wartosc;

Racja. Nie pomyslałem o tym wcześniej tylko na siłę szedłem jakimiś innymi sposobami.
Teraz jestem w kropce.
Mam taki kawałek sourca:
$zapytanie2 = "SELECT * FROM telefony WHERE opis = $szukana"; $szukaj = mysql_query($zapytanie2); while($wiersz = mysql_fetch_array($szukaj)) { echo(" $wiersz[opis]<br /> "); }
I wywala mi warninga:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL ple, ple, ple
O co chodzi? Kombinuję i widzę, że mam coś skopane z WHERE opis = $szukana.
Jak to naprawić.

$zapytanie2 = "SELECT * FROM telefony WHERE opis = '$szukana'";




Jak to naprawić.
Utworzyć najpierw poprawne połączenie z bazą danych.

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

  • Sitedesign by AltusUmbrae.