AsaMedlem sedan dec. 20011 934 inlägg
Har en kod där jag ska kolla i mysqldatabasen i en om ordet jag ska spara finns med. Även delar av ordet ska kollar. Så om ordet ham finns i databasen och man skriver hamburgare så ska det säga till om det. Den kod jag har nu är:
<?$sql = "Select * From tabell Where namn='" . $_POST["name"] . "'";
$get = mysql_db_query($databas,$sql) or die(mysql_error());
if (mysql_affected_rows() != 0){
while ($RS = mysql_fetch_array($get)){?>
<?=$_POST["name"] ?> är ej tillåtet
<?}
}else{?>
Fortsätt
<?}?>
nkrantzMedlem sedan apr. 2002755 inlägg
Är inte helt säker, men du måste ju i sådana fall dela upp ordet hamburgare så att sql-frågan söker på följande:
h
ha
ham
hamb
hambu
hambur
hamburg
hamburga
hamburgar
hamburgare
Kanske finns något smartare sätt, vet inte..
// Nippe
AsaMedlem sedan dec. 20011 934 inlägg
Ingen aning! Jag är nybörjare på PHP så jag vet inte :/
Patrik81Medlem sedan okt. 2001537 inlägg
Man kan ju använda sig utav LIKE
SELECT * FROM tabell WHERE fält LIKE 'ham%';
Nu söker den igenom 'tabell' i fältet 'fält' efter alla ord som börjar med eller är lika med 'ham'
Good ,jaa?
MVH Patrik
//r:
Och sedan om jag läser igenom hela frågan ORDENTLIGT innan jag öppnar min käft så kanske jag kan bidra med något vettigt. Ledsen, mitt svar var ju inte alls vad du sökte efter... :(
MVH Patrik
AsaMedlem sedan dec. 20011 934 inlägg
Okej! Ska testa.
TIllägg:
Hehe, så kan det vara! :)
Patrik81Medlem sedan okt. 2001537 inlägg
Men vid en litet närmare eftertanke...
jag kanske kan var till nytta ändå... =)
Om du söker igenom databasen med min sqlrad, fast bara med första bokstaven i ordet, så kommer den ju att hitta alla förekomster av ord som börjar med 'h' (i detta exemplet)
Sedan kan du ju med en foreachloop kolla igenom om ditt ord finns i strängen som returnerats från mysql
typ:
$bokstav_1 = substr($_POST['name'],0,1);
$sql = "SELECT * FROM tabell WHERE namn LIKE '" . $bokstav_1 ."%'";
och sedan kolla av alla inlägg i arrayen med:
foreach ($RS as $chunk){
if (stristr($chunk, $_POST['name'])){
// i denna post från databasen fanns namnet i $_POST['name'], gör något...
} else {
// namnet i $_POST['name'] fanns inte i denna post... gör något annat
}
}
typ... nu ehövs det ju lite mysql anslutningar och din while loop från första inlägget för att plocka ut alla rader.
Hoppas jag inte gjort det ännu virrigare nu ;)
MVH Patrik
// r:
Kanske skulle vara mer optimerat att använda strpos() istället för stristr, men detta var ju bara en tanke som man kan bygga vidare på, förhoppnignsvis =)
AsaMedlem sedan dec. 20011 934 inlägg
Okej, men jag får testa detta... Tack. Återkommer om det strular.