Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php+mysql] Tablice , generowanie linku
Forum PHP.pl > Forum > Przedszkole
pioch
witam mam pewien problem nie działa mi skrypt , chyba gdzies namieszałem


  1. <?php
  2. $zap = 'SELECT id, nazwisko FROM pilkarze';
  3. $query = mysql_query($zap);
  4. while($tab = mysql_fetch_array($query)){
  5. $id[] = $tab['id'];
  6. $nazwisko[] = $tab['nazwisko'];
  7. }
  8.  
  9.  
  10.  
  11. $tekst = "Kowalski ma kota, Nowak ma psa";
  12.  
  13. while (list($nazwisko, $id) = each($tab)) {
  14. $tekst = str_replace($nazwisko, "<a href="nazwisko.php?id=$id">".$nazwisko."</a>", $tekst);
  15. }
  16.  
  17. echo $tekst;
  18. ?>



prosze o pomoc
Cienki1980
A możesz powiedzieć dlaczego rozbiłeś to na dwie pętle questionmark.gif Dlaczego nie zrobiłeś tego w jednej korzystając z danych otrzymanych z bazy questionmark.gif Coś w tym stylu :

  1. <?php
  2. $tekst = "Kowalski ma kota, Nowak ma psa";
  3.  
  4.  
  5. while($tab=mysql_fetch_array($query))
  6. {
  7.  $tekst = str_replace($tab['nazwisko'], "<a href="nazwisko.php?id=".$tab['id']."">".$tab['nazwisko']."</a>", $tekst);
  8. }
  9.  
  10. echo $tekst;
  11. ?>


Chyba powinno być lepiej.
pioch
Tak masz racje smile.gif) Wszytsko śmiga


Ale jak sobie poradzić gdy w bazie jest kilku Nowaków questionmark.gif trzeba by chyba sprawdzac też imie questionmark.gif
Cienki1980
Przecież może być więcej Janów Nowaków ( to samo imię i nazwisko ). Musisz coś innego wymyślić, lub w takich przypadkach tworzyć stronę ( po kliknięciu w link ) z listą nazwisk oraz większą ilością szczegółów.
pioch
no ale juz imie załatwiło by sprawe:/ chociaz na jakiś tam czas....


ale jak dodaje w kodzie


$tekst = str_replace($tab['imie'] and $tab['nazwisko'], "<a href=\"nazwisko.php?id=".$tab['id']."\">$tab['imie'] ".$tab['nazwisko']."</a>", $tekst);
}


to za chiny nie działa:/
Cienki1980
Bo robisz to totalnie źle. Zobacz jak działa taki przykład, i postaraj się przerobić swój kod:
  1. <?
  2. $tablica=array("Henryk Kolec","Henryk Bolec");
  3.  
  4. $text="Henryk Bolec fajnym gosciem byl";
  5.  
  6. $nazwisko="Henryk Bolec";
  7. $text=str_replace($tablica,"<a href="plik.php?id=".$nazwisko."">".$nazwisko."</a>",$text);
  8.  
  9. echo $text;
  10. ?>
pioch
Ten kod działa super, poradziłem sobie także z imieniem i nazwiskiem...


Ale chciałbym iść krok dalej, mianowicie ten tekst jeszcze przefiltrować ( wyszukać tak jak imie nazwisko ) tylko z innej tabeli mianowicie do jakiego nalezy klubu....


wiec z pobraniem tablic nie mam juz problemu:)


aale teraz nie wiem czy to trzeba zrobić 2 stopniowo, bo coś mi nie działa , czy jest inny sposób

  1. <?php
  2. while($tab=mysql_fetch_array($query))
  3. {
  4.  
  5.  
  6. $imie= $tab['imie'];
  7. $naz = $tab['nazwisko'];
  8.  
  9. $nazwisko = "$imie $naz";
  10.  
  11.  $tekst = str_replace($nazwisko, "<a href="pilkarz.php?id=".$tab['id']."">".$nazwisko."</a>", $tekst);
  12. }
  13.  
  14. while($tab1=mysql_fetch_array($query))
  15. {
  16.  
  17. $tekst1 = str_replace($druz, "<a href="druz.php?id=".$tab1['id']."">".$druz."</a>", $tekst);
  18.  
  19. }
  20. echo $tekst;
  21. ?>



cos nie śmiga :/


Czy wielokrotne wyszukiwanie z wielu tabel mozna zrobic w inny sposób , czy ten coś pomieszałem :/
Cienki1980
Wykonujesz jedno zapytanie do bazy, w pierwszej pętli dostajesz wszystkie odpowiedzi z bazy, więc druga pętla while nie wykona żadnego "obrotu".

Albo wykonasz raz jeszcze zapytanie do bazy, albo zrobisz wszystko w jednej pętli ( o ile dane są przechowywane w jednej tabeli a na to wychodzi )
pioch
Cytat(Cienki1980 @ 7.05.2007, 09:06:52 ) *
Wykonujesz jedno zapytanie do bazy, w pierwszej pętli dostajesz wszystkie odpowiedzi z bazy, więc druga pętla while nie wykona żadnego "obrotu".

Albo wykonasz raz jeszcze zapytanie do bazy, albo zrobisz wszystko w jednej pętli ( o ile dane są przechowywane w jednej tabeli a na to wychodzi )



Właśnie oto chodzi ze dane pobieram z dwóch tabel:/ i za chiny nie chce iść, mam dwa zapytania do bazy..
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.