Poslao: 18 Apr 2011 21:48
|
offline
- hotcoding
- Novi MyCity građanin
- Pridružio: 08 Nov 2007
- Poruke: 12
- Gde živiš: Brcko, BiH
|
Treba da napravim pretragu za katalog guma, ali ne znam kako
<table width="650" height="210" border="0" cellspacing="0" cellpadding="0" class="gume">
<tr>
<td align="left" valign="top"><form>
<table width="440" height="210" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">Proizvođač<br>
<select>
<option>-</option>
<option>Bridgestone</option><option>Goodyear</option><option>Michelin</option><option>Tigar</option> </select></td>
<td align="center" valign="top">Širina<br>
<select>
<option>-</option>
<option>145</option>
<option>155</option>
<option>165</option>
<option>175</option>
<option>185</option>
<option>195</option>
<option>205</option>
<option>215</option>
<option>225</option>
<option>235</option>
<option>245</option>
<option>255</option>
<option>265</option>
<option>275</option>
<option>315</option>
</select></td>
</tr>
<tr>
<td align="center" valign="top">Tip gume<br>
<select>
<option>-</option>
<option>4x4</option>
<option>Putnicka vozila</option>
<option>Kombi vozila</option>
<option>Teretna vozila</option>
</select></td>
<td align="center" valign="top">Visina<br>
<select>
<option>-</option>
<option>35</option>
<option>40</option>
<option>45</option>
<option>50</option>
<option>55</option>
<option>60</option>
<option>65</option>
<option>70</option>
<option>80</option>
</select></td>
</tr>
<tr>
<td align="center" valign="top">Vrsta gume<br>
<select>
<option>-</option>
<option>Zimske gume</option>
<option>Ljetne gume</option>
<option>Kombinovane M+S</option>
</select></td>
<td align="center" valign="top">Promjer<br>
<select>
<option>-</option>
<option>R12</option>
<option>R13</option>
<option>R14</option>
<option>R15</option>
<option>R16</option>
<option>R17</option>
<option>R18</option>
<option>R19</option>
<option>R20</option>
</select></td>
</tr>
<tr>
<td align="center" valign="top">Indeks brzine<br>
<select>
<option>-</option>
<option>T: max 190 km/h</option>
<option>H: max 210 km/h</option>
<option>V: max 240 km/h</option>
<option>ZR, W, Y</option>
</select></td>
<td align="center" valign="middle"><a><img></a></td>
</tr>
</table>
</form></td>
</tr>
</table>
tako izgleda forma za unos, na koji nacin mogu pretraziti bazu, imam tri tabele u bazi, proizvodjac model i velicina, iz svake tabele se povlace odredjeni podaci....tabele udruzim preko joina i mogu citati sve podatke kao sto mi treba, ali mi treba pomoc kod where - like upita za pretragu...
prvi put radim pretragu za katalog pa sam malo zapeo
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 25 Apr 2011 22:13
|
offline
- hotcoding
- Novi MyCity građanin
- Pridružio: 08 Nov 2007
- Poruke: 12
- Gde živiš: Brcko, BiH
|
Opet mi treba pomoc
ne znam gdje sam pogrijesio ali mi skripta, ako ima vise velicina pod jednim modelom, cita iz baze samo id modela za prvu velicinu, a ostale kao da ne postoje...i htio bih da mi za jedan model grupise sve velicine kod prikaza... evo dole cu navesti i bazu i skripte
baza tabele: akcija, modeli, novosti, proizvodjac, velicina
akcija:
akcija_id
akcija_pocetak
akcija_kraj
akcija_rabat
modeli:
model_id
akcija_id
proizvodjac_id
model_naziv
model_opis
model_slika
model_tip
model_vrsta
novosti:
id
naziv
slika
opis
datum
proizvodjac:
proizvodjac_id
proizvodjac_naziv
velicina:
velicina_id
model_id
akcija_id
velicina_sirina
velicina_visina
velicina_promjer
velicina_brzina
velicina_opterecenje
velicina_vpc
velicina_mpc
tako izgledaju polja u tabelama...
a evo kod iz tri skripte: home gdje su polja za unos, serch, gdje lista tabele iz baze i search_prikaz gdje pokazuje odredjeni model
home:
<Tabela>
<table width="650" height="210" border="0" cellspacing="0" cellpadding="0" id="gume">
<tr>
<td align="left" valign="top"><form>
<table width="650" height="210" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="left" valign="top" width="200">Proizvođač<br>
<select>
<option>-</option>
</option>
</select></td>
<td align="left" valign="top" width="150">Širina<br>
<select>
<option>-</option>
<option>145</option>
<option>155</option>
<option>165</option>
<option>175</option>
<option>185</option>
<option>195</option>
<option>205</option>
<option>215</option>
<option>225</option>
<option>235</option>
<option>245</option>
<option>255</option>
<option>265</option>
<option>275</option>
<option>315</option>
</select></td>
<td align="left" valign="top" rowspan="4" width="216"><img></td>
</tr>
<tr>
<td align="left" valign="top">Tip gume<br>
<select>
<option>-</option>
<option>4x4</option>
<option>Putnicka vozila</option>
<option>Kombi vozila</option>
<option>Teretna vozila</option>
</select></td>
<td align="left" valign="top">Visina<br>
<select>
<option>-</option>
<option>35</option>
<option>40</option>
<option>45</option>
<option>50</option>
<option>55</option>
<option>60</option>
<option>65</option>
<option>70</option>
<option>80</option>
</select></td>
</tr>
<tr>
<td align="left" valign="top">Vrsta gume<br>
<select>
<option>-</option>
<option>Zimske gume</option>
<option>Ljetne gume</option>
<option>Kombinovane M+S</option>
</select></td>
<td align="left" valign="top">Precnik<br>
<select>
<option>-</option>
<option>R12</option>
<option>R13</option>
<option>R14</option>
<option>R15</option>
<option>R16</option>
<option>R17</option>
<option>R18</option>
<option>R19</option>
<option>R20</option>
</select></td>
</tr>
<tr>
<td align="left" valign="top">Indeks brzine<br>
<select>
<option>-</option>
<option>T: max 190 km/h</option>
<option>H: max 210 km/h</option>
<option>V: max 240 km/h</option>
<option>ZR, W, Y</option>
</select></td>
<td align="left" valign="middle"><input></td>
</tr>
</table>
</form></td>
</tr>
</table>
<Kraj>
<p>
<div><a>Akcija guma</a>
<hr>
</div>
<p>
<?php
$sql=("SELECT modeli.model_id,modeli.model_naziv,modeli.model_opis,modeli.model_slika,modeli.model_tip,modeli.model_vrsta,akcija.akcija_id,akcija.akcija_pocetak,akcija.akcija_kraj,akcija.akcija_rabat
FROM modeli, akcija
WHERE modeli.akcija_id=akcija.akcija_id LIMIT 5");
if (!$q=mysql_query($sql))
{
echo "Nastala je greška pri izvodenju upita<br>" . mysql_query();
die();
}
if (mysql_num_rows($q)==0)
{
echo "Nema modela<br>";
} else {
// Change display for number of columns. Do not change cols as it is needed for counting.
$display = 5;
$cols = 0;
echo " <table>";
while($red = mysql_fetch_array($q)){
if($cols == 0){
echo "<tr>";
}
// Display each cell here
echo "<td>
<table>
<tr>
<td><a>". $red['model_naziv'] ."<p><img></a>";
echo "</td>
</tr>
</table>
</td>";
$cols++;
if($cols == $display){
echo "</tr>";
$cols = 0;
}
}
// Display the correct HTML
if($cols != $display && $cols != 0){
$neededtds = $display - $cols;
for($i=0;$i</td>
<p>
<div>novosti
<hr>
</div>
<p>
<table width="650" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" valign="top"><?php
$sql=("SELECT * FROM novosti ORDER BY datum DESC LIMIT 8");
if (!$q=mysql_query($sql))
{
echo "Nastala je greška pri izvodenju upita<br>" . mysql_query();
die();
}
if (mysql_num_rows($q)==0)
{
echo "Nema novosti<br>";
} else {
// Change display for number of columns. Do not change cols as it is needed for counting.
$display = 1;
$cols = 0;
echo " <table>";
while($red = mysql_fetch_array($q)){
if($cols == 0){
echo "<tr>";
}
// Display each cell here
echo "<td>
<table>
<tr>
<td><a><img></a>". $red['naziv'] ."<p>". $red['opis'] ."</div>";
echo "</td>
</tr>
</table><p>
</td>";
$cols++;
if($cols == $display){
echo "</tr>";
$cols = 0;
}
}
// Display the correct HTML
if($cols != $display && $cols != 0){
$neededtds = $display - $cols;
for($i=0;$i</td></td>
</tr>
</table>
search:
<?php
// Get the search variable from URL
$proizvodjac = $_POST['proizvodjac'] ;
$sirina = $_POST['sirina'] ;
$tip = $_POST['tip'] ;
$visina = $_POST['visina'] ;
$vrsta = $_POST['vrsta'] ;
$precnik = $_POST['precnik'] ;
$index = $_POST['index'] ;
// Build SQL Query
$query = "SELECT * FROM modeli
LEFT JOIN velicina ON velicina.model_id = modeli.model_id
WHERE 1"; // EDIT HERE and specify your table and field names for the SQL query
if(trim($proizvodjac)!="-")
$query .= " and modeli.proizvodjac_id = '$proizvodjac'";
if(trim($tip)!="-")
$query .= " and modeli.model_tip ='$tip'";
if(trim($vrsta)!="-")
$query .= " and modeli.model_vrsta ='$vrsta'";
if(trim($sirina)!="-")
$query .= " and velicina.velicina_sirina ='$sirina'";
if(trim($visina)!="-")
$query .= " and velicina.velicina_visina ='$visina'";
if(trim($precnik)!="-")
$query .= " and velicina.velicina_promjer ='$precnik'";
if(trim($index)!="-")
$query .= " and velicina.velicina_brzina ='$index'";
$query .= " GROUP BY modeli.model_id";
$numresults=mysql_query($query);
$numrows=mysql_num_rows($numresults);
// If we have no results, offer a google search as an alternative
if ($numrows == 0)
{
echo "<h4>Rezultat pretrage</h4>";
echo "<p>Nema trazenog modela</p>";
}
$result = mysql_query($query) or die("Couldn't execute query");
if ($numrows !== 0) {
// now you can display the results returned
// Change display for number of columns. Do not change cols as it is needed for counting.
$display = 5;
$cols = 0;
echo "<h4>Rezultat pretrage</h4><p><table>";
while($red = mysql_fetch_array($result)){
if($cols == 0){
echo "<tr>";
}
// Display each cell here
echo "<td>
<table>
<tr>
<td><a>". $red['model_naziv'] ."<p><img></a>";
echo "</td>
</tr>
</table>
</td>";
$cols++;
if($cols == $display){
echo "</tr>";
$cols = 0;
}
}
// Display the correct HTML
if($cols != $display && $cols != 0){
$neededtds = $display - $cols;
for($i=0;$i</td>
search_pregled:
<?php $model_id=$_GET["model_id"];
$sql=("SELECT * FROM modeli WHERE model_id='$model_id'");
if (!$q=mysql_query($sql))
{
echo "Nastala je greška pri izvodenju upita<br>" . mysql_query();
die();
}
if (mysql_num_rows($q)==0)
{
echo "Nema modela<br>";
} else {
// Change display for number of columns. Do not change cols as it is needed for counting.
$display = 1;
$cols = 0;
echo " <table>";
while($red = mysql_fetch_array($q)){
if($cols == 0){
echo "<tr>";
}
// Display each cell here
echo "<td>
<table>
<tr>
<td><img><h2>". $red['model_naziv'] ."</h2><p><h3>". $red['model_tip'] ." - ". $red['model_vrsta'] ." guma</h3><p>". $red['model_opis'] ."</td>
</tr>
</table>
</td>";
$cols++;
if($cols == $display){
echo "</tr>";
$cols = 0;
}
}
// Display the correct HTML
if($cols != $display && $cols != 0){
$neededtds = $display - $cols;
for($i=0;$i</td>
nadam se da je jasno i ako moze neko da pomogne i da provjeri da li je ok
|
|
|
|
Poslao: 26 Apr 2011 03:03
|
offline
- eevan79
- Građanin
- Pridružio: 21 Apr 2007
- Poruke: 98
|
Citat:ne znam gdje sam pogrijesio ali mi skripta, ako ima vise velicina pod jednim modelom, cita iz baze samo id modela za prvu velicinu, a ostale kao da ne postojeTo je zato što ih grupišeš u upitu po modelu:
$query .= " GROUP BY modeli.model_id";
Jedna bitna stvar je loša logika programiranja i potpuno nezaštićen kod od mySQL inject. Takođe, nigde ne vršiš provere za polja pre nego što ostvariš upit, što nije baš preporučljivo.
Zar ti nije lakše da si ovo uradio sa DIV-ovima umesto sa table? I kad već koristiš table nije mi jasno zašto koristiš onaj kod za dodavanje TD elementa? Jednostavno pre petlje staviš <table>, u petlji staviš <tr><td>Podatak1</td><td>Podatak2</td><td>ITD...</td></tr>, i posle petlje </table> . Mislim da nema potrebe da kriješ TD elemente.
Možda da je najbolje da uključiš error_reportings (dok ne završiš kod) da možeš da pohvataš sve greške i potencijalne greške.
|
|
|
|