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 :-)
no joo.. eihän tuossa oo mitään oikein mutta vinkkejä ottaisin mieluusti vastaan.
Onko cs_product_code tietokannassa "int"?
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 .
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 . "'.
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.
kiitos vastauksista. perehdyn ongelmaan iltasella jahka kotiudun leipätyöstä.
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.
muokkausta vielä; $clover_shop_products tekstin ympärillä pitäisi olla {} merkit
Tontsa-san kirjoitti:
muokkausta vielä; $clover_shop_products tekstin ympärillä pitäisi olla {} merkit
Jos nyt ihan tarkkoja ollaan, niin ei tarvitse :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.