Vergelijk Array met SQL result probleem.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Doe

Johan Doe

14/11/2015 16:28:15
Quote Anchor link
Ik heb een probleem waar ik niet uit kom.
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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'] ." " ;                      
                 }
                
                 ?>
Gewijzigd op 14/11/2015 17:12:00 door Johan Doe
 
PHP hulp

PHP hulp

15/01/2025 06:47:13
 
- Ariën  -
Beheerder

- Ariën -

14/11/2015 17:10:00
Quote Anchor link
Zou je een betere titel voor je topic kunnen bedenken, die je vraag of probleemstelling aangeeft?
Dit kan door je bericht te bewerken.
 
Johan Doe

Johan Doe

14/11/2015 17:21:46
Quote Anchor link
OK, done..
 
Thomas van den Heuvel

Thomas van den Heuvel

14/11/2015 17:36:59
Quote Anchor link
Leadzang klinkt als een relatie tussen een nummer/song(tekst) (van een band) en een bandlid (van diezelfde band). Je zou hiervoor een koppeltabel kunnen maken? En als achtergrondzang/leadzang mutual exclusive is zou je bijvoorbeeld kunnen aangeven wat voor type zang het is (achtergrond of lead of geen wellicht).

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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.