Ä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
6 svar · 250 visningar · startad av Asa
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
<?}?>
Ä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
Ingen aning! Jag är nybörjare på PHP så jag vet inte :/
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
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 =)
Okej, men jag får testa detta... Tack. Återkommer om det strular.