Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql]zastosowanie wynikow wyszukiwania jako linki
Rico_ds
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


Witam,
baza dana sklada sie z kategorii a te maja swoje podkategorie. Na stronie wyswietlaja sie nazwy kategorii. I do tego momentu wiem, jak zrobic, ale nie bardzo wiem jak zrobic aby te nazwy kategorii byly linkami do podkategorii bez tworzenia dodatkowych plikow php. Czy mozecie opisac mi schemat dzialania takich linkow opartych o baze danych?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
PanGuzol
post
Post #2





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Linki robisz w postaci:
  1. <a href='plik.php?id_cat=idkategori'>Link</a>


I piszesz coś takiego:

  1. <?php
  2. if (isset($_GET['id_cat']))
  3. {
  4. //wyświetlasz podkategorie kategori id_cat
  5. }
  6. else
  7. {
  8. //wyświetlasz kategorie
  9. }
  10. ?>


Ten post edytował PanGuzol 14.08.2007, 19:19:08


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Rico_ds
post
Post #3





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


a czy moge zrobic tak?
  1. <?php
  2. <a href=cat.php?id_cat=$litera>A</a>
  3. ?>
chce aby po nacisnieciu takiego linku zostala pobrana z bazy $litera. Chce aby ten link wywolywal zapytanie dzieki ktoremu bede mogl pobrac z bazy wszytkie kategorie na litere a
Go to the top of the page
+Quote Post
PanGuzol
post
Post #4





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Możesz tak zrobić ale proponuje inaczej nazwać ta zmienna np:

  1. <?php
  2. echo "<a href='cat.php?firstlet=".$litera."'>litera</a>";
  3. ?>

I takie zapytanie

  1. <?php
  2. $query = "SELECT * FROM kategorie WHERE nazwakategorii LIKE '".$litera."%';";
  3. ?>


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Rico_ds
post
Post #5





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


mam jeszcze jedno pytanie odnośnie linków. Chciałbym zrobi menu z użyciem mysql. Zakladając że miałbym tabelkę o nazwie Menu i tam by bylo link_id, name, url, menu_id to co musiałbym wstawic w pole url? Takie linki jak wyżej mi podałeś? Te podstrony też oczywiście były by generowane za pomocą php i mysql.

Ten post edytował Rico_ds 21.08.2007, 15:15:13
Go to the top of the page
+Quote Post
pianta_d
post
Post #6





Grupa: Zarejestrowani
Postów: 176
Pomógł: 18
Dołączył: 5.01.2007

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


Ja w bazie SQL mam coś takiego:

  1. <?php
  2. <a href="katalog/plik.php">Link</a>
  3. ?>
Go to the top of the page
+Quote Post
PanGuzol
post
Post #7





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Jeśli chodzi ci o menu z tymi literami to proponuje zrobić pętle
  1. <?php
  2. for($i=65;$i<91;$i++)
  3. {
  4. echo "<a href='cat.php?firstlet=".chr($i)."'>".chr($i)."</a>";
  5. }
  6. ?>

A jeśli chodzi ci o całkiem inne menu to proponuje wpisywać tam wartość parametru href

Ten post edytował PanGuzol 21.08.2007, 22:09:07


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
Rico_ds
post
Post #8





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


zrobilem cos takiego
  1. <?phpecho'<div id=\"pap\"><img src=\"img/paper.jpg\"></div><div class=\"p4\">SEARCH RESULTS</div><br/>';echo'<div id=\"ile\">There is results</div>';$_POST['what']=trim($_POST['what']);if(empty($_POST['what']))die('Search string is empty. Please try again');else{$base=mysqli_connect('localhost','root','vertrigo','020london');$query=&#092;"Select * From companys Where name Like '%{$_POST['what']}%' Or description Like '%{$_POST['what']}%' Or address Like '%{$_POST['where']}%' Or postcode Like '%{$_POST['where']}%'\";$result=mysqli_query($base,$query);while($row=mysqli_fetch_assoc($result)){$company_id = $row[\"id\"]; $name = $row[\"name\"];$address = $row[\"address\"];$postcode = $row[\"postcode\"];$location = $row[\"location\"];echo '<div id=\"wyniki\">';echo '<table>';echo '<tr><td nowrap><a href=\"search.php?company_id\"><div class=\"p5\">'.$row[\"name\"].'</div></a></td><td nowrap><div class=\"p6\">'.$row[\"address\"].'</div></td><td nowrap><div class=\"p6\">'.$row[\"postcode\"].'</div></td></tr>';echo '</table>';echo '</div>';}if (isset($_GET['company_id'])){$query=\"Select * From companys \";$name = $row[\"name\"];echo '<table>';echo '<tr>';echo '<td>'.$row[\"name\"].'</td>';echo '</tr>';echo '</table>';}else{// w razie nie pobrania danych firmy z bazy.echo 'There is a problem with the data base';}mysqli_close($base);}?>
chcialem zrobic aby wyszukiwarka pokazala wyniki zapytania a nastepnie klikajac na link ktorym jest nazwa przeniesc sie do dokladniejszych danych o firmie, ale cos mi nie poszlo. Po kliknieciu na link pokazuje sie komunikat, ze nie zostala wpisana fraza do wyszukiwarki, czyli tak jakby link uruchamial od nowa procedure szukania. Mozesz mi wytlumaczyc najlepiej na przykladzie co zrobilem zle? Dziekimam tak
  1. <?php<a href='cat.php?firstlet=\".$litera.\"'>|</a>?>
i
  1. <?phpif (isset($_GET['.$litera.'])){$connect = mysql_connect(&#092;"localhost\", \"kingreid\", \"linddddd\") or die (\"There is no connetion with the data base.\");  mysql_select_db (\"kingreid_020london\");  mysql_query ('SET NAMES latin2'); $wynik = mysql_query(\"SELECT * FROM categorie WHERE categorie_name LIKE '\".$litera.\"%'\");echo '<Table>'; while($row = mysql_fetch_assoc($wynik)) if($kolor==\"#FFFFFF\") { $kolor=\"#FFFFFF\";} else {$kolor=\"#F1F8FF\"; echo '<table bgcolor=$kolor>'; echo '<tr>'; echo '<td><img src=\"img/blue_arrow.jpg\"></td>'; echo '<td nowrap><div class=\"p7\">'.$row['categorie_name'].'</div></td></tr>'; echo '</Table>'; }  echo '</Table>'; }?>
i wyglada na to, ze mi nie pobiera litery wcisnietej, poniewaz adres jest taki http://www.kingreidmedia.com/cat.php?firstlet= jak to poprawic?

Ten post edytował Rico_ds 28.08.2007, 15:23:21
Go to the top of the page
+Quote Post
drPayton
post
Post #9





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


  1. <?php
  2. if (isset($_GET['.$litera.']))...
  3. ?>

zamień na:
  1. <?php
  2. if (isset($_GET[$litera])) ...
  3. ?>
Go to the top of the page
+Quote Post
Rico_ds
post
Post #10





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


dalej nic. Mozesz zobaczyc to pod http://www.kingreidmedia.com/cat.php
Go to the top of the page
+Quote Post
drPayton
post
Post #11





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Jeżeli problemem jest samo wyświetlenie listy liter, to:
  1. <?php
  2. $firstLetters = str_split("abcdefghijklmnopqrstuvwxyz");
  3. foreach($firstLetters AS $letter) {
  4. echo "<a href=\"cat.php?firstlet={$letter}\">{$letter}</a> | ";
  5. }
  6. ?>

Ta metoda jest o tyle dobra, że w banalny sposób można dodawać/usuwać określone litery czy znaki
Go to the top of the page
+Quote Post
Rico_ds
post
Post #12





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


problem polega na tym, ze po nacisnieciu litery, ma nastapic pobranie listy kategorii na dana litere. Caly kod
  1. <?php
  2. echo "<a href='cat.php?firstlet=".$litera."'>A |</a><a href='cat.php?firstlet=".$litera."'> B |</a> <a href='cat.php?firstlet=".$litera."'>C |</a> <a href='cat.php?firstlet=".$litera."'>D | </a> <a href='cat.php?firstlet=".$litera."'>E | </a> <a href='cat.php?firstlet=".$litera."'>F | </a> <a href='cat.php?firstlet=".$litera."'>G | </a> <a href='cat.php?firstlet=".$litera."'>H | </a> <a href='cat.php?firstlet=".$litera."'>I | </a> <a href='cat.php?firstlet=".$litera."'>J | </a> <a href='cat.php?firstlet=".$litera."'>K | </a> <a href='cat.php?firstlet=".$litera."'>L | </a> <a href='cat.php?firstlet=".$litera."'>M | </a> <a href='cat.php?firstlet=".$litera."'>N | </a> <a href='cat.php?firstlet=".$litera."'>O | </a> <a href='cat.php?firstlet=".$litera."'>P | </a> <a href='cat.php?firstlet=".$litera."'>Q | </a> <a href='cat.php?firstlet=".$litera."'>R | </a> <a href='cat.php?firstlet=".$litera."'>S | </a> <a href='cat.php?firstlet=".$litera."'>T | </a> <a href='cat.php?firstlet=".$litera."'>U | </a> <a href='cat.php?firstlet=".$litera."'>V | </a> <a href='cat.php?firstlet=".$litera."'>W | </a> <a href='cat.php?firstlet=".$litera."'>X | </a> <a href='cat.php?firstlet=".$litera."'>Y | </a> <a href='cat.php?firstlet=".$litera."'>Z | </a> ";
  3.  
  4.  
  5. if (isset($_GET[$litera]))
  6. {
  7. $connect = mysql_connect("localhost", "kingreid", "linddddd") or
  8. die ("There is no connetion with the data base.");
  9.  mysql_select_db ("kingreid_020london");
  10.  mysql_query ('SET NAMES latin2');
  11.  
  12. $wynik = mysql_query("SELECT * FROM categorie WHERE categorie_name LIKE '".$litera."%'");
  13. echo '<Table>';
  14.  
  15. while($row = mysql_fetch_assoc($wynik))
  16.  
  17. if($kolor=="#FFFFFF") { 
  18. $kolor="#FFFFFF";
  19. } else {
  20. $kolor="#F1F8FF";
  21.  
  22.  echo '<table bgcolor=$kolor>';
  23.  echo '<tr>';
  24.  echo '<td><img src="img/blue_arrow.jpg"></td>';
  25.  echo '<td nowrap><div class="p7">'.$row['categorie_name'].'</div></td></tr>';
  26.  echo '</Table>';
  27.  }
  28.  
  29. echo '</Table>'; 
  30. }
  31. else
  32. {
  33.  
  34. }?>
dodatkowo nie pobiera niczego tylko odrazu wykonuje else jezeli cos w nia wpisze
Go to the top of the page
+Quote Post
PanGuzol
post
Post #13





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Twoja zmienna nazywa sie firstlet a nie litera więc zamiast
  1. <?php
  2. if (isset($_GET[$litera]))
  3. {
  4. ?>

zrób
  1. <?php
  2. if (isset($_GET['firstlet']))
  3. {
  4. ?>

oraz w indeksach tablic nie stosuje sie $ tylko daje sie je w apostrofy.


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
Go to the top of the page
+Quote Post
drPayton
post
Post #14





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

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


Dodatkowo:
  1. <?php
  2. $wynik = mysql_query("SELECT * FROM categorie WHERE categorie_name LIKE '".$_GET['firstlet']."%'");
  3. ?>
Go to the top of the page
+Quote Post
Rico_ds
post
Post #15





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 21.03.2007

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


Mam jeszcze jeden problem z tym. Wyswietla mi wszystkie kategorie na A a nie te z kliknietej litery

Ten post edytował Rico_ds 1.09.2007, 15:48:45
Go to the top of the page
+Quote Post
PanGuzol
post
Post #16





Grupa: Zarejestrowani
Postów: 353
Pomógł: 50
Dołączył: 28.07.2005
Skąd: Łaziska Górne

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


Zamiast
  1. <?php
  2. echo "<a href='cat.php?firstlet=".$litera."'>A |</a><a href='cat.php?firstlet=".$litera."'> B |</a> <a href='cat.php?firstlet=".$litera."'>C |</a> <a href='cat.php?firstlet=".$litera."'>D | </a> <a href='cat.php?firstlet=".$litera."'>E | </a> <a href='cat.php?firstlet=".$litera."'>F | </a> <a href='cat.php?firstlet=".$litera."'>G | </a> <a href='cat.php?firstlet=".$litera."'>H | </a> <a href='cat.php?firstlet=".$litera."'>I | </a> <a href='cat.php?firstlet=".$litera."'>J | </a> <a href='cat.php?firstlet=".$litera."'>K | </a> <a href='cat.php?firstlet=".$litera."'>L | </a> <a href='cat.php?firstlet=".$litera."'>M | </a> <a href='cat.php?firstlet=".$litera."'>N | </a> <a href='cat.php?firstlet=".$litera."'>O | </a> <a href='cat.php?firstlet=".$litera."'>P | </a> <a href='cat.php?firstlet=".$litera."'>Q | </a> <a href='cat.php?firstlet=".$litera."'>R | </a> <a href='cat.php?firstlet=".$litera."'>S | </a> <a href='cat.php?firstlet=".$litera."'>T | </a> <a href='cat.php?firstlet=".$litera."'>U | </a> <a href='cat.php?firstlet=".$litera."'>V | </a> <a href='cat.php?firstlet=".$litera."'>W | </a> <a href='cat.php?firstlet=".$litera."'>X | </a> <a href='cat.php?firstlet=".$litera."'>Y | </a> <a href='cat.php?firstlet=".$litera."'>Z | </a> ";
  3. ?>

Użyj pętli którą napisałem w moim trzecim poście w tym temacie lub co napisał drPayton w swoim drugim poście w tym temacie.


--------------------
Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej"
"NIE kradnij, rząd nielubi konkurencji"
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: 22.08.2025 - 10:03