Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy mozna uzyc wiele razy "SELECT"
Forum PHP.pl > Forum > Bazy danych > MySQL
e-trip
Witam
Mam pytanie w skrypcie mozna uzyc wiele razy select? Jezeli tak to w jaki sposob mozna to zrobic?
nospor
  1. <?php
  2.  
  3. $sql1=&#092;"zapytaie\";
  4. $res=mysql_query($sql1);
  5. //.....
  6. $sql2=&#092;"zapytaie\";
  7. $res=mysql_query($sql2);
  8. //.....
  9.  
  10.  
  11. ?>
SongoQ
Jak to jak: wywolujesz 1 raz select, potem kolejny raz ............

Nie zabardzo Cie zrozumialem o co Ci chodzili. Czy moze chcesz wykonac kilka selectow w jednym zapytaniu.
dr_bonzo
Tak, powtorz te operacje ktore wykonujesz dla pojedynczego zapytania (nie lacz sie i nie wybieraj bazy ponownie -- no chyba ze tego akurat potrzebujsz))
SongoQ
Jesli wykonujesz kilka selectow a dopiero pozniej zwracasz sobie wyniki pamietaj aby resource byly inne inaczej beda bledy.
e-trip
W moim przypadku mam takie cos:

$sql = "SELECT id, miejscowosc, wojewodztwo, opis, nazwa, typ, region, image
FROM dane WHERE wojewodztwo like \"%$znajdz%\" or typ like \"%$znajdz%\" and region like \"%$znajdz%\"";
$wykonaj = mysql_query($sql);
while($wiersz=mysql_fetch_array ($wykonaj))

Kiedy zaczynam szukac wg wojewodztwa szuka jest wszystko ok. Jezeli zaczynam juz szykac wg regionu i typu nic mi nie wyswietla nie wiem gdzie jest blad?
Oto przyklad
region:
morze
jezioro
gory
typ:
pensjonat
kwatera
hotel
nospor
ale ty w zapytaniu używasz i or i and bez żadnych nawiasów. Takie mialo być zalożenie? Bo przy takiej konstukcji warunków najwyrażniej nic nie znajduje
e-trip
To w jaki sposob mozna to zrobic? Jeszcze wszystkiego nie nauczylem z mysql?
Moze jakas mala podpowiedz?
nospor
to może powiesz jakie mialeś zalożęnia robiąc te warunki?
e-trip
<?mysql_connect ("localhost","etrip_kubacki","kubacki");
mysql_select_db (etrip_nocleg);
$sql = "SELECT id, miejscowosc, wojewodztwo, opis, nazwa, typ, region, image
FROM dane WHERE wojewodztwo like \"%$znajdz%\" or typ like \"%$znajdz%\" and region like \"%$znajdz%\"";
$wykonaj = mysql_query($sql);
while($wiersz=mysql_fetch_array ($wykonaj))
{
echo "
Nazwa: <a href=show.php?znajdz=".$wiersz['id'].">".$wiersz['nazwa']."</br></a>
Województwo: ".$wiersz['wojewodztwo']."</br>
<br><img src=$wiersz[image] width='$width' height='$height'></br>
<br>Opis: ".$wiersz['opis']."<hr></br>"
;
}
?>
a href=szukaj.php?znajdz=dolnośląskie>-dolnośląskie</a></br>
<a href=szukaj.php?znajdz=kujawsko-pomorskie>-kujawsko-pomorskie</a></br>
<a href=szukaj.php?znajdz=lubelskie>-lubelskie</a></br>
<a href=szukaj.php?znajdz=lubuskie>-lubuskie</a></br>
<a href=szukaj.php?znajdz=łódzkie>-łódzkie</a></br>
<a href=szukaj.php?znajdz=małopolskie>-małopolskie</a></br>
<a href=szukaj.php?znajdz=mazowieckie>-mazowieckie</a></br>
<a href=szukaj.php?znajdz=opolskie>-opolskie</a></br>
<a href=szukaj.php?znajdz=podkarpackie>-podkarpackie</a></br>
<a href=szukaj.php?znajdz=podlaskie>-podlaskie</a></br>
<a href=szukaj.php?znajdz=pomorskie>-pomorskie</a></br>
<a href=szukaj.php?znajdz=śląskie>-śląskie</a></br>
<a href=szukaj.php?znajdz=świętokrzyskie>-świętokrzyskie</a></br>
<a href=szukaj.php?znajdz=warmińsko-mazurskie>-warmińsko-mazurskie</a></br>
<a href=szukaj.php?znajdz=wielkopolskie>-wielkopolskie</a></br>
<a href=szukaj.php?znajdz=zachodniopomorskie>-zachodniopomorskie</a></br>
</table></table>

<select name="znajdz" size="1" >
<option value="">Nieokreślony</option>
<option value="Agroturystyka">Agroturystyka</option>
<option value="Apartament">Apartamenty</option>
<option value="Camping">Camping</option>
<option value="Domek">Domki letniskowe</option></br>
<option value="Hotel">Hotele</option></br>
<option value="Kwatera">Kwatery</option></br>
<option value="Motel">Motele</option></br>
<option value="Pensjonat">Pensjonaty</option></br>
<option value="Pokoj">Pokoje goscinne</option></br>
<option value="Schronisko">Schroniska</option></br>
<option value="Sanatorium">Sanatoria</option></br>
</select>
Typ obiektu:
<select name="znajdz" size="1" >
<option value="">Nieokreślony</option>
<option value="Jezioro">Jeziora</option>
<option value="Bory Tucholskie">Bory Tucholskie</option>
<option value="Morze">Morze<p></option></br>
<option value="Ziemia">Ziemia Lubuska</option></br>
<option value="Roztocze">Roztocze</option></br>
<option value="Tatry">Tatry</option></br>
<option value="Mierzeja Wiślana">Mierzeja Wiślana</option></br>
<option value="Sudety">Sudety</option></br>
<option value="Zalew">Zalew Szczeciński</option></br>
<option value="Półwysep Helski">Półwysep Helski</option></br>
<option value="Mazury">Mazury</option></br>
<option value="Kujawy">Kujawy</option></br>
<option value="Beskidy">Beskidy</option></br>
<option value="Pieniny">Pieniny</option></br>
<option value="Góry Świętokrzyskie">Góry Świętokrzyskie</option></br>
</select></p>


Taki mam kod. Jak juz wyzej pisalem szukanie wg wojewodztwa jest ok, ale wg np typ i region nie chce.
ps. Z warunkami oto chodzilo ....
nospor
Oj...
Ale ty robisz dwa selecty. Oba nazywają się znajdz. Nadodatek robisz url też z parametrem znajdz. Chlopie, one nachodzą jeden na drugi. Domyślam się że pobierasz je z $_POST i $_GET.
Dla każdej wartości wojewodztwo, typ, region nadaj inne nazwy i pobieraj je do innej zmiennej i dopiero te trzy rózne zmienne wstawiaj do zapytania.
e-trip
Zmienne get i post nie uzywam...
nospor
No to pewnie masz register_gloabals ustawione na on w php.ini.
Tym bardziej musisz nadać różne nazwy dla selectów i paramtru w url po ci się nadpisują te 3.
e-trip
Dokladnie nie wiem jak to zrobic. Jak wysle tresc skryptu pomozesz mi pozmieniac parametry. Faktycznie w php.ini jest globals_register. A co do skrytptu bardzo prosze o pomoc.

Oto kod:
<p align="center"><img src="etrip.jpg" width="658" height="100"/></p>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<link rel=stylesheet href="style.css" type="text/css">
<table border="0" width="100%" cellspacing="0" cellpadding="4">
<tr>
<stopka><td width="100%" bgcolor="#B7DBFF">
<p align="right">&nbsp;<a href="index.php">Strona główna</a>&nbsp;<a href="kontakt.php">Kontakt</a>&nbsp;<a href="formularz.php">Dodaj Obiekt</a>&nbsp;<a href="oferta.php">Oferta</a></td>
</tr>
</table><hr>
<TABLE BORDER=0 WIDTH="100%" CELLPADDING=4 CELLSPACING=0 >
<TR VALIGN="top">
<td align="left" width="80%" bgcolor="#EEEEEe" style="border: 1px solid blue;">
<CENTER>
<?php

$nazwa=$id;
$nr=0;
$wpisow=15;
$width=100;
$height=100;
mysql_connect ("localhost","etrip_kubacki","kubacki");
mysql_select_db (etrip_nocleg);
$sql = "SELECT id, miejscowosc, wojewodztwo, opis, nazwa, typ, region, image
FROM dane WHERE (wojewodztwo like \"%$znajdz%\") or typ like \"%$1%\" and region like \"%$2%\"";
$wykonaj = mysql_query($sql);
while($wiersz=mysql_fetch_array ($wykonaj)) {

if (($nr >= $strona*$wpisow) && ($nr < ($strona+1)*$wpisow))
echo "
Nazwa: <a href=show.php?znajdz=".$wiersz['id'].">".$wiersz['nazwa']."</br></a>
Województwo: ".$wiersz['wojewodztwo']."</br>
<br><img src=$wiersz[image] width='$width' height='$height'></br>
<br>Opis: ".$wiersz['opis']."<hr></br>"
;
$nr++;

}

if (($nr >= $strona*$wpisow) && ($nr < ($strona+1)*$wpisow));
if ($strona > 0)
{
echo "<a href=szukaj.php?";
echo "&strona=".($strona-1)."><br><p>poprzednie $wpisow wyników</a></br>";
}

if ($nr > ($strona+$znajdz)*$wpisow)
{
echo"<a href=szukaj.php?";
echo "&strona=".($strona+1).">następne $wpisow wyników</a><br /><br />";
}
if($nr==0) {echo"Nic nie znaleziono<br>";} else {echo"Ilość znalezionych obiektów: <b>".$nr."</b>"; }

;
?>

</body>
</html>
<td>
<table style="border: 1px solid blue;" bgcolor="#EEEEEe" cellpadding="4" cellspacing="0" width="100%"><tbody><tr><td valign="">
<center><b>Noclegi</center></a></b>
<TABLE BORDER=0 WIDTH="100%" ><tbody><tr>
<a href=szukaj.php?znajdz=dolnośląskie>-dolnośląskie</a></br>
<a href=szukaj.php?znajdz=kujawsko-pomorskie>-kujawsko-pomorskie</a></br>
<a href=szukaj.php?znajdz=lubelskie>-lubelskie</a></br>
<a href=szukaj.php?znajdz=lubuskie>-lubuskie</a></br>
<a href=szukaj.php?znajdz=łódzkie>-łódzkie</a></br>
<a href=szukaj.php?znajdz=małopolskie>-małopolskie</a></br>
<a href=szukaj.php?znajdz=mazowieckie>-mazowieckie</a></br>
<a href=szukaj.php?znajdz=opolskie>-opolskie</a></br>
<a href=szukaj.php?znajdz=podkarpackie>-podkarpackie</a></br>
<a href=szukaj.php?znajdz=podlaskie>-podlaskie</a></br>
<a href=szukaj.php?znajdz=pomorskie>-pomorskie</a></br>
<a href=szukaj.php?znajdz=śląskie>-śląskie</a></br>
<a href=szukaj.php?znajdz=świętokrzyskie>-świętokrzyskie</a></br>
<a href=szukaj.php?znajdz=warmińsko-mazurskie>-warmińsko-mazurskie</a></br>
<a href=szukaj.php?znajdz=wielkopolskie>-wielkopolskie</a></br>
<a href=szukaj.php?znajdz=zachodniopomorskie>-zachodniopomorskie</a></br>
</table></table>
<p><table style="border: 1px solid blue;" bgcolor="#EEEEEe" width="100%"><tbody><tr><td valign="right">
<table " bgcolor="#ffffee" border="0" cellpadding="4" cellspacing="2" width="100%"><tbody><tr><valign="right">
Wybierz region:
<form action=szukaj.php method=get>
<select name="1" size="1" >
<option value="">Nieokreślony</option>
<option value="Agroturystyka">Agroturystyka</option>
<option value="Apartament">Apartamenty</option>
<option value="Camping">Camping</option>
<option value="Domek">Domki letniskowe</option></br>
<option value="Hotel">Hotele</option></br>
<option value="Kwatera">Kwatery</option></br>
<option value="Motel">Motele</option></br>
<option value="Pensjonat">Pensjonaty</option></br>
<option value="Pokoj">Pokoje goscinne</option></br>
<option value="Schronisko">Schroniska</option></br>
<option value="Sanatorium">Sanatoria</option></br>
</select>
Typ obiektu:
<select name="2" size="1" >
<option value="">Nieokreślony</option>
<option value="Jezioro">Jeziora</option>
<option value="Bory Tucholskie">Bory Tucholskie</option>
<option value="Morze">Morze<p></option></br>
<option value="Ziemia">Ziemia Lubuska</option></br>
<option value="Roztocze">Roztocze</option></br>
<option value="Tatry">Tatry</option></br>
<option value="Mierzeja Wiślana">Mierzeja Wiślana</option></br>
<option value="Sudety">Sudety</option></br>
<option value="Zalew">Zalew Szczeciński</option></br>
<option value="Półwysep Helski">Półwysep Helski</option></br>
<option value="Mazury">Mazury</option></br>
<option value="Kujawy">Kujawy</option></br>
<option value="Beskidy">Beskidy</option></br>
<option value="Pieniny">Pieniny</option></br>
<option value="Góry Świętokrzyskie">Góry Świętokrzyskie</option></br>
</select></p>
<p><input type="submit" value="Szukaj" />
</table></table>
<p><table style="border: 1px solid blue;" bgcolor="#EEEEEe" width="100%"><tbody><tr><td valign="right">
<table " bgcolor="#ffffee" border="0" cellpadding="4" cellspacing="0" width="100%"><tbody><tr><valign="right">

<center>
<a href="index.php">Strona główna</a></br>
<a href="formularz.php">Dodaj stronę</a></br>
<a href="oferta.php">Oferta</a></br>

</center></td></tr></tbody></table></td></tr></tbody></table>

</td></tr></tbody></table></td></tr></tbody></table>

<center>
<p><hr><table style="border: 1px solid blue" cellpadding="4" cellspacing="0" width="100%" height="22" bgcolor="#EEEEEe">
<td align="center">
<a href="szukaj.php?znajdz=kwatery">• Hotele</a>
<a href="szukaj.php?znajdz=kwatery">• Kwatery</a>
<a href="szukaj.php?znajdz=motel">• Motele</a>
<a href="szukaj.php?znajdz=pensjonat">•Pensjonaty</a>
<a href="szukaj.php?znajdz=pokoj">•Pokoje Gościnne</a>
<a href="szukaj.php?znajdz=pole">• Pola kempingowe</a>

</table>
ps. Bede bardzo wdzieczny za pomoc...
Pozdrawiam
nospor
nazwy zmiennych zaczynają się od podkreślenia lub litery a nie od cyfry

  1. <select name="typ" size="1" >
  2. .....
  3. <select name="region" size="1" >
  4. ....


  1. <?php
  2.  
  3. $sql = &#092;"SELECT id, miejscowosc, wojewodztwo, opis, nazwa, typ, region, image
  4. FROM dane WHERE (wojewodztwo like &#092;"%$znajdz%\") or typ like \"%$typ%\" and region like \"%$region%\"\";
  5.  
  6. ?>


pewnie będziesz musial dorobić jeszcze warunek czy wogóle którakolwiek z tych zmiennych istnieje i dopiero wtedy do zpaytania dodawać
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.