Data uit While Loop Terug In Database Voegen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pedro Delacruz

Pedro Delacruz

09/11/2018 09:48:28
Quote Anchor link
Ik heb een while loop waarmee verschillende categorieën worden geprint in een <select> veldje met het variabel $cat.
Er zijn zo'n 15 categorieën dus 15 verschillende mogelijkheden voor het variabel. Ik wil deze output terug in de database kunnen plaatsen wanneer een gebruiker een nieuw artikel plaatst en de categorie selecteert uit deze while loop. Het is voor hen ook mogelijk om verschillende categorieën te selecteren.

Hoe kan ik die verschillende waarden voor $cat terug in database sturen? Ik moet niet de oplossing voor dit probleem hebben, gewoon een beetje op weg geholpen worden zou heel leuk zijn. Want heb geen flauw idee.

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
<select multiple class="form-control" id="exampleFormControlSelect2">
        <?php
       global $connection;
        $query="SELECT DISTINCT category FROM post";
        $execution=mysqli_query($connection,$query);
        while($datarow=mysqli_fetch_array($execution)){
        
            $cat=$datarow['category'];
          if(!$datarow['category']) {
  continue; }

            
        ?>

      <option name="cat"><?php echo $cat;  ?></option><?php    } ?>
    
    </select>

 
Gewijzigd op 09/11/2018 10:54:46 door Pedro Delacruz
 
PHP hulp

PHP hulp

15/05/2024 08:06:55
 
- Ariën  -
Beheerder

- Ariën -

09/11/2018 10:00:45
Quote Anchor link
Wat heb je nu aan code? Kan je deze hier tussen code-tags plaatsen?

Je zou met $_POST['categorien'] de keuze uit je selectbox kunnen oppikken.
Gewijzigd op 09/11/2018 10:04:24 door - Ariën -
 
Adoptive Solution

Adoptive Solution

09/11/2018 10:02:08
Quote Anchor link
Een select is meestal onderdeel van een form.

Hier de weg er naar toe :

https://www.w3schools.com/html/html_form_elements.asp
 
Pedro Delacruz

Pedro Delacruz

09/11/2018 10:51:50
Quote Anchor link
Sorry ik ben nieuw hier, ik weet niet echt hoe deze code tags werken.

Uit de while loop krijg ik alle resultaten die zich reeds in de database bevinden. Het probleem is dat de gebruikers meerdere categorieën kunnen selecteren. Dus ik meerdere waarden voor $cat kan hebben. En ik weet niet hoe ik die dan terug kan in de database brengen.
 
- Ariën  -
Beheerder

- Ariën -

09/11/2018 11:00:12
Quote Anchor link
De opmaak-codes staan in de Veelgestelde Vragen vermeld.

Je kan een foreach gebruiken om alle geselecteerde keuzes te kiezen.
 
Rob Doemaarwat

Rob Doemaarwat

09/11/2018 14:32:04
Quote Anchor link
Als je de select een name geeft zul je 'm terug zien in je request ($_GET of $_POST, afhankelijk van de method van je <form>; of gewoon $_REQUEST als je het niet weet)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<select multiple class="form-control" id="exampleFormControlSelect2" name="categorien">
//...
</select>

De gemaakte keuze(s) staan nu na een submit in $_REQUEST['categorien'].
Gewijzigd op 09/11/2018 14:32:19 door Rob Doemaarwat
 
Thomas van den Heuvel

Thomas van den Heuvel

09/11/2018 20:22:26
Quote Anchor link
De options hebben op dit moment geen values?
En als het de bedoeling is dat een artikel aan meerdere categorieën gekoppeld kan worden loont het misschien de moeite om een koppeltabel hiervoor te hebben die de link legt tussen een artikel en de categorie(ën) waar deze aan gekoppeld is.
Ik zou dus ook een aparte tabel aanmaken voor categorieën - op dit moment trek je deze uit de artikel tabel ("post")? Wat mij een beetje vreemd overkomt. Het is hierbij ook handiger/efficiënter om aan records te refereren via een (auto increment) id voor snelle(re) lookup.
Voor een multiselect zou je ook een apart formulier-element kunnen bouwen om de te selecteren categorieën wat beter te kunnen beheren. Het nadeel van een normale multiple select is dat deze nogal gevoelig is voor verkeerde toetsaanslagen, met name wanneer je een artikel wijzigt, als je simpelweg een nieuwe categorie aanklikt dan is de vorige selectie weg wat niet erg gebruiksvriendelijk is.
Gewijzigd op 09/11/2018 20:23:06 door Thomas van den Heuvel
 



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.