Vergelijk Array met SQL result probleem.
Het is eigenlijk heel simpel maar op de een of andere manier lukt het me niet!
Nu ben ik al de hele dag bezig met dit probleem en talloze "oplossingen" geprobeerd maar het lukt me echt niet.
Om een en ander te verduidelijken, ik ben met een php script bezig voor een Band, en daarin wil ik songtkesten opslaan. Maar bij die songteksten moet aangegeven worden wie de leadzang doet en wie de backingvocals.
INFO:
ik heb twee tabellen
Tabel 1; Een tabel met gebruikers (bandleden) met een veld "gebruikersnaam".
Tabel 2 Een tabel met songteksten met een veld "LeadZang" waarin namen punt-comma gescheiden opgeslagen worden.
Wat ik wil bereiken is dat bij een edit formulier alle namen uit tabel 1 met een checkbox weergegeven worden. Dat lukt me wel!
Maar, ik wil alle namen die voorkomen in tabel 2 dan ook aangevinkt zijn.
Dus als voorbeeld;
In tabel twee is een veld met de inhoud Kees;Jan;
Dan wil ik alle namen met een checkbox op het formulier laten verschijnen, maar alleen Kees en Jan mogen aangevinkt zijn.
Wat ik tot nu toe heb bereikt is dat of alles uitgevinkt is of alles aangevinkt, maar niet alleen de specifieke namen zoals bedoeld.
Wie o wie kan mijn frustraties laten verdwijnen..
Alvast bedankt!
Johan
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
//MYSQL Field
$get_leadSingers=mysql_fetch_object(mysql_query("SELECT * FROM songteksten WHERE songtekst_id='$_POST[songtekst_id]'"));
$leadSingersresult=$get_leadSingers->LeadZang;
// Gebruikers Array
$result=mysql_query("SELECT gebruikersnaam FROM gebruikers");
while($data = mysql_fetch_assoc($result)){
$singers_array[] = $data;
}
foreach ($singers_array as $LeadZang) {
if (in_array($leadSingersresult, $singers_array)){
$checked = "CHECKED";
}else{
$checked = "";
}
echo "<input type=\"checkbox\" ".$checked." name=\"LeadZang[]\" value=\"". $LeadZang['gebruikersnaam'] . "\"> ". $LeadZang['gebruikersnaam'] ." " ;
}
?>
//MYSQL Field
$get_leadSingers=mysql_fetch_object(mysql_query("SELECT * FROM songteksten WHERE songtekst_id='$_POST[songtekst_id]'"));
$leadSingersresult=$get_leadSingers->LeadZang;
// Gebruikers Array
$result=mysql_query("SELECT gebruikersnaam FROM gebruikers");
while($data = mysql_fetch_assoc($result)){
$singers_array[] = $data;
}
foreach ($singers_array as $LeadZang) {
if (in_array($leadSingersresult, $singers_array)){
$checked = "CHECKED";
}else{
$checked = "";
}
echo "<input type=\"checkbox\" ".$checked." name=\"LeadZang[]\" value=\"". $LeadZang['gebruikersnaam'] . "\"> ". $LeadZang['gebruikersnaam'] ." " ;
}
?>
Gewijzigd op 14/11/2015 17:12:00 door Johan Doe
Dit kan door je bericht te bewerken.
OK, done..
Het feit dat je geserialiseerde data in je database hebt zitten houdt wat mij betreft in dat je databasestructuur nog niet helemaal uitgekristaliseerd is, dit zul je dus ook daar moeten oplossen.