Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL-kannasta haku ei toimi

Sivun loppuun

Bemari [31.08.2006 19:33:21]

#

meillä on clover shopilla toteutettu verkkokauppa jossa ei ole valmiina tuotekoodilla hakua joten semmoista yritetään lisätä, ongelmana on se että pelkkiä numeroita sisältävät tuotekoodit hakuhomma löytää mutta jos tuotekoodissa on kirjaimia niin tuotetta ei löydy. Tuossa ratkaiseva (?) osa koodista.

if ($_POST[tuotekoodi]) {

							$koodi = $_POST[tuotekoodi];
							$koodi = strip_tags($koodi);
							$haku = mysql_query ("SELECT * FROM $clover_shop_products WHERE cs_product_code = ".$koodi."" , $mysql_link);
								if ($haku != FALSE) {
								$tulos = mysql_result ($haku, 0, 0);
								$otsikko = mysql_result ($haku, 0, 6);
								echo "<br><A href=\"product_details.php?p=$s".$tulos."\"><B>".$otsikko."</B></a> ";
								} else {
								echo "Koodilla ei löytynyt tuotetta";
								}
} else {
}

edit:tuostahan jo huomaa että amatööri asialla, mutta yrittänyttä ei laiteta :-)

Bemari [31.08.2006 20:36:47]

#

no joo.. eihän tuossa oo mitään oikein mutta vinkkejä ottaisin mieluusti vastaan.

Tontsa-san [31.08.2006 21:24:43]

#

Onko cs_product_code tietokannassa "int"?

tsuriga [31.08.2006 21:33:43]

#

Parannusehdotuksia (vertaa edellisiin): SELECT kentännimi/-nimet FROM, $_POST['tuotekoodi'], mysql_real_escape_string($koodi) ( / quote_smart, joka löytyy ko. funkkarin kohdalta manuskasta), tagit pienellä (<a..), tagien sulkeminen (<br />, koodin sisennys, strip_tags on turha. Alkuperäiseen ongelmaan voi olla ratkaisu tuo ylläoleva .

Olga [31.08.2006 21:49:10]

#

Ja jos ei ole int (mikä on todennäköistä jos tuotekoodeissa kerran on niitä kirjaimia), laita hipsut tuon $koodi-muuttujan ympärille. Eli WHERE cs_product_code = '" . $koodi . "'.

Tontsa-san [31.08.2006 21:52:19]

#

Eikö se olisi helpoin ilman noita kaikkia hipsuja;

$haku = mysql_query ("SELECT * FROM $clover_shop_products WHERE cs_product_code = '$koodi'", $mysql_link);

~ En ole varma mutta pitäisikö $clover_shop_productsn ympärillä olla myös hapsut? ( '' )

PS. Ja jos product code on tietokannassa int, niin helpoin vaihtoehto on
laittaa sen paikalle text.

Bemari [01.09.2006 04:58:50]

#

kiitos vastauksista. perehdyn ongelmaan iltasella jahka kotiudun leipätyöstä.

Bemari [11.09.2006 17:50:22]

#

oli hiukan jäissä tuon koodin säätö, mut nyt kun sitä aloin kattoon niin olgan ohjeesta löytyi ratkaisu. eli "laita hipsut tuon $koodi-muuttujan ympärille. Eli WHERE cs_product_code = '" . $koodi . "'. " ja siistimpä tuota muittenkin vinkkien perusteella. Kiitokset avusta kaikille.

Tontsa-san [12.09.2006 17:05:54]

#

muokkausta vielä; $clover_shop_products tekstin ympärillä pitäisi olla {} merkit

Olga [12.09.2006 18:21:22]

#

Tontsa-san kirjoitti:

muokkausta vielä; $clover_shop_products tekstin ympärillä pitäisi olla {} merkit

Jos nyt ihan tarkkoja ollaan, niin ei tarvitse :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta