29. oktober 2005 - 14:16Der er
8 kommentarer og 1 løsning
Søge efter en streng i mysql tabeller
Hej!
Er det muligt at søge efter en streng i en tabel? F.eks.: mysql_query("SELECT * FROM clanmembers WHERE game = 'cs'); hvis nu tabellen games indeholder flere forskellige forkortelser. Lad os sige den indeholder "cs,wc3,gw,wow" Kan man så på en eller anden måde lede hele tabellen igennem efter kun de to bogstaver cs efterfulgt af et komma? Og længere nede på siden søge efter gw efterfulgt af komma osv. Så det skulle måske ikke være WHERE game = 'cs' men WHERE game LIKE 'cs' eller noget?
Håber i forstår mig, for problemet er lidt svært at forklare synes jeg.
Og du kan jo lave det i en løkke hvis du vil, f.eks.:
$type = array("cs", "wc3", "gw", "wow"); foreach($type as $v) { $query = mysql_query("SELECT * FROM clanmembers WHERE game LIKE '%".$v.",%'"); ... og hvad du så vil med dem ! }
:)
Synes godt om
Slettet bruger
29. oktober 2005 - 14:26#3
Er ved at teste det nu. Men forstår ikke lige hvad den løkke der gør? :)
Ok. $type har jeg lavet med de spiltyper du skrev i toppen. foreach løkken løber så alle de typer igennem (foreach ~ for hver enkelt) og den vil så gør præcis det samme med de enkelte typer efterhinaden. Dvs. at hvis jeg bare ville udskrive dem, ville jeg gøre:
Og en løkke er i hvert fald nemmere end at smide den samme kode 5 gange, hvor det eneste man ændrer er en 2-3 bogstaver :)
Synes godt om
Slettet bruger
29. oktober 2005 - 14:38#7
Der kommer en fejl med min anden løkke desværre. Her er den hvis du lige skulle få lyst til at hjælpe ;)
$type = array("cs", "wc3", "gw", "wow");
foreach($type as $v) { $query = mysql_query("SELECT * FROM clanmembers WHERE game LIKE '%".$v.",%'"); //Udskriv alle members echo "<table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">"; echo "<td height=\"21\" background=\"images/tablegradient.gif\"><div align=\"center\"><font color=\"#ffffff\">$v</font></div></td>";
Det er en mysql-fejl, og da jeg ikke har din database kan jeg ikke fortælle helt hvor den ligger. Men ud fra ovenstående, så vil jeg spørge om du har husket at connecte til den? :)
Ellers, så er en god debug altid: $query = mysql_query("SELECT * FROM clanmembers WHERE game LIKE '%".$v.",%'") or die(mysql_error());
Og tak for points :)
Synes godt om
Slettet bruger
29. oktober 2005 - 14:43#9
Det var en dummefejl :( Havde kaldt tabellen games her i min kode, og skrevet game her på exp.dk. Smart, hehe. Virker fint nu. Tak :D
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.