Problema formular si select in mysql

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Cristina
Mesaje:9

Problema formular si select in mysql

Buna ziua . Sunt incepatoare in php si am nevoie de niste sfaturi.
Am creeat un formular si vreau sa imi afiseze rezultatul in functie de ce alege vizitatorul.

Cod: Selectaţi tot

<form  method="post" action="search_cars.php" enctype="multipart/form-data" name="selectate">
		                    <table >
		                        <tr class="required" id="detalii_vehicul">
		                           <td>
		                               <label for="marca">Marca</label> <br/>
		                               <select name="marca" id="marca" >
		                                    <option value="0">Selectati</option>
		                                    <option value="Acura">Acura</option>
		                                    <option value="Aixam">Aixam</option>
		                                    <option value="Alfa Romeo">Alfa Romeo</option>
		                                    <option value="Aro">Aro</option>
		                                    <option value="Aston Martin">Aston Martin</option>
		                                    <option value="Audi">Audi</option>
		                           </select>
		                        </td>
		                    <!-- End: Make combo -->
		            <td class="required">
		                     <label for="marca">Fabricatie</label><br/>
		                      <input type="text" name="data_fabricatie" id="data_fabricatie" value="" size="6" maxlength="4" />
		             </td>
		             </tr>
		             <tr>		                        <!-- End: Sell Month/Year fields -->
		                       <td class="required">
		                             <label for="caroserie">Caroserie</label><br/>
		                             <select name="caroserie" id="caroserie">
		                                  <option value="0">Selectati</option>
		                                  <option value="cabrio">Cabrio</option>
		                                  <option value="berlina">Berlina</option>
		                                  <option value="coupe">Coupe</option>

		                            </select>
		                       </td>
		                    <!-- End: Type comnbo -->
		                        <td class="required">
		                           <label for="combustibil">Combustibil</label> <br/>
		                           <select name="combustibil" id="combustibil">
		                               <option value="0">-- Selectati --</option>
		                               <option value="diesel">diesel</option>
		                               <option value="benzina">benzina</option>
		                               <option value="benzina+GPL">benzina+GPL</option>

		                            </select>
		                      </td>
		                    </tr>
		                   <tr>
		                    <!-- Doors combo -->
		                    <td>
		                       <label for="portiere">Portiere</label> <br/>
		                       <select name="portiere" id="portiere">
		                           <option value="0">Selectati</option>
		                           <option value="2/3">2/3</option>
		                           <option value="4/5">4/5</option>
		                       </select>
		                     </td>
		               <!-- End: Doors combo -->
		                 <!-- Colour Combo -->
		                      <td class="required">
		                           <label for="culoare">Culoare</label><br/>
		                           <select name="culoare" id="culoare">
		                                <option value="">Selectati</option>
		                                <option value="alb">Alb</option>
		                                <option value="albastru">Albastru</option>
		                                <option value="albastru marin">Albastru Marin</option>

		                            </select>
		                      </td>
		                   <!-- End: Colour Combo -->
		                </tr>
		                <tr style="text-align:right">
		                    <td colspan="2"><input type="submit" value="Cauta" id="submit" /></td>
		                </tr>
	       </table>
		 </form>
Acesta este formularul. Am 5 casute select si 1 input. Deci sunt multe posibilitati de a alege.
Am incercat multe variante. Am incercat sa pun conditii ca in functie de ce apasa sa imi afiseze

$query = "select * from cars where marca='$marca' and data_fabricatie='$data_fabricatie' and caroserie='$caroserie' and combustibil='$combustibil' and portiere='$portiere' and culoare='$culoare'";

$query am modificat-o in functie de conditia if.
Eu cred ca nu asta e solutia ca sunt atatea posibilitati.
As da si adresa site-ului pt a vedea problema mai usor dar nu stiu dc e corect.

Va rog daca puteti sa ma ajutati :roll:

nikuu2 Mesaje:22

Cod: Selectaţi tot

$text="SELECT * FROM `cars`";
$where=" WHERE `id`=`id`";//returneaza toate intregistrarile; in functie de campurile completate in formular adaugi conditii
if ($marca) $where .= " AND `marca`='".$marca."'";
if ($data_fabricatie) $where .= " AND `data_fabricatie`='".$data_fabricatie."'";
if ($caroserie) $where .= " AND `caroserie`='".$caroserie."'";
if ($combustibil) $where .= " AND `combustibil`='".$combustibil."'";
if ($portiere) $where .= " AND `portiere`='".$portiere."'";
if ($culoare) $where .= " AND `culoare`='".$culoare."'";
$query=$text.$where;
Sper sa iti fie de folos!

Cristina Mesaje:9
multumesc de raspuns.
Cum am zis sunt incepatoare si nu am inteles tot, si anume:
`id`=`id`";//returneaza toate intregistrarile; in functie de campurile completate in formular adaugi conditii
id la ce se refera ? ce conditii sa pun?
Si dc puteti sa imi recomandati unde as putea citi mai multe despre acest lucru . Eu invat acasa singura dupa tutoriale de pe net.
E cam greu si dureaza f mult.
Va multumesc

MarPlo Mesaje:4343
`id` se refera la coloana "id" din tabelul mysql

Cod: Selectaţi tot

$text="SELECT * FROM `cars`";
$where=" WHERE `id`=`id`";
// Apoi
$query=$text.$where;

// Face "$query" sa fie asa:
$query="SELECT * FROM `cars` WHERE `id`=`id`";

// Ceea ce va selecta toate randurile, deoarece coloana `id` va fi mereu egala cu ea insasi
- in loc de $where=" WHERE `id`=`id`"; se poate scrie si $where=''; (doua ghilimele simple), ceea ce va face acelasi lucru, mai ales daca nu ai coloana `id` in tabel.

2. Pentru a invata MySQL, sursa cea mai indicata e un manula pe care-l poti descarca de la pagina http://dev.mysql.com/doc/" target="_blank , pt. diverite versiuni si formate.
De asemenea e cate ceva explicat si in cursul PHP-MySQL de pe site, incepand cu lectia: https://marplo.net/php-mysql/baze_de_date.html" target="_blank

Subiecte similare