Ptja, kan du inte bara söka i strängen?
dvs: if strpos($databas['fält med åren inskrivna'],$year)
Om du är säker på att värdet från databasen stämmer.
Man kan även tänka sig imploda det till en array och leta i arrayen.
3 svar · 256 visningar · startad av Smultron
Hur ska man om man har ett varchar fält i MySQL databasen som man har värden inskrivna i skilda med kommatecken, t.ex "2001, 2002, 2008"
Sen vill man kolla just om 2002 finns med i fältet,
sen har man typ ett villkor som detta typ...
for($year=2000; $year == 2010; $year++;)
{
if( $year == $databas['fält med åren inskrivna'])
print "weeeii " . $year . "<br>";
}
endast ett exempel men hur skall jag skriva?
Kankse inte använda "==" i villkoret utan använda nåt annat?
hjälp mig snälla!
Ptja, kan du inte bara söka i strängen?
dvs: if strpos($databas['fält med åren inskrivna'],$year)
Om du är säker på att värdet från databasen stämmer.
Man kan även tänka sig imploda det till en array och leta i arrayen.
hmm, ok hur menar du då då?
att jag gör en while sats som jag skapar en array i där varje array variabel får ett av varje värde från varchar fältet?
men grejen är ju hur jag ser att de är separerade i den??
alltså 2001, 2002, 2003...
att när man kommer till "," så blir det ett nytt värde och ingen fortsättning på det gamla värdet, ur gör jag?
Problemet är att du gjort fel från början genom att spara en kommaseparerad lista i ett fält i tabellen. Normalt sparar man ett värde i ett databasfält. Vill man ha många värde per unik post då gör man en relationstabell till detta.
Så mitt förslag är att ändra db-struktur. ;)