Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+mysql] Tablice , generowanie linku
pioch
post
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


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





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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.


--------------------
404
Go to the top of the page
+Quote Post
pioch
post
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


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





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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.


--------------------
404
Go to the top of the page
+Quote Post
pioch
post
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


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:/
Go to the top of the page
+Quote Post
Cienki1980
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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


--------------------
404
Go to the top of the page
+Quote Post
pioch
post
Post #7





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


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 :/
Go to the top of the page
+Quote Post
Cienki1980
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


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 )


--------------------
404
Go to the top of the page
+Quote Post
pioch
post
Post #9





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


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..
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 Aktualny czas: 21.08.2025 - 18:19