Archief - Variabele input + textarea

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Deadangel

Legacy Member
PHP:
<form method="post">
        <?php $dbres = mysql_query("SELECT * FROM interview_vragen WHERE interview_id = '". $id ."' ORDER BY vraag_id ASC");
     			while($interview = mysql_fetch_object($dbres)) {	 ?>
        <div class="blok">
<b>Vraag:</b><br />
            <input type="Artist" name="Artist" maxlength="255" value="<?php echo $interview->vraag; ?>" /></div><div class="blok">
            <b>antwoord :</b><br />
            <textarea name="bericht" cols=60 rows=5><?php echo $interview->antwoord; ?></textarea></div>
            <?php
        }?>
            <center><input type="submit" id="post" value="Post!" name="post"/></center>

	    </form>

Zo haal ik mijn gegevens er uit, nu is mijn vraag; hoe date ik deze terug op ?

Cyberkef

Legacy Member
In je form ga je een kleine aanpassing moeten doen in je textarea name, anders ga je je verschillende waarden van je verschillende textarea's met dezelfde name versturen.

HTML:
name="bericht[<?php echo $interview->vraag_id; ?>]"

Dan stuur je een array met antwoorden door naar dezelfde pagina (aangezien je geen action zet, enkel een method), waarbij de keys je vraag_id's zijn, en hun bijbehorende value's de antwoorden.

Voor het opvangen van je antwoorden KAN je dit doen (zijn ook andere oplossingen):

PHP:
<?php
// Er is géén post doorgestuurd bij het opvragen van je pagina, dus formulier tonen
if ( !isset($_POST['bericht']) )
{
?>
<form method="post">
        <?php $dbres = mysql_query("SELECT * FROM interview_vragen WHERE interview_id = '". $id ."' ORDER BY vraag_id ASC");
                 while($interview = mysql_fetch_object($dbres)) {     ?>
        <div class="blok">
<b>Vraag:</b><br />
            <input type="Artist" name="Artist" maxlength="255" value="<?php echo $interview->vraag; ?>" /></div><div class="blok">
            <b>antwoord :</b><br />
            <textarea name="bericht[<?php echo $interview->vraag_id?>]" cols=60 rows=5><?php echo $interview->antwoord; ?></textarea></div>
            <?php
        }?>
            <center><input type="submit" id="post" value="Post!" name="post"/></center>

        </form>
<?php
}
else
{
       foreach ($_POST['bericht'] as $vraag_id => $antwoord)
       {
              $mysql_query("UPDATE ...........");
       }
       echo "Tadaa, resultaten verwerkt!";
}

Zeer grof geschreven :p

Deadangel

Legacy Member
Cyberkef zei:
In je form ga je een kleine aanpassing moeten doen in je textarea name, anders ga je je verschillende waarden van je verschillende textarea's met dezelfde name versturen.

HTML:
name="bericht[<?php echo $interview->vraag_id; ?>]"

Dan stuur je een array met antwoorden door naar dezelfde pagina (aangezien je geen action zet, enkel een method), waarbij de keys je vraag_id's zijn, en hun bijbehorende value's de antwoorden.

Voor het opvangen van je antwoorden KAN je dit doen (zijn ook andere oplossingen):

PHP:
<?php
// Er is géén post doorgestuurd bij het opvragen van je pagina, dus formulier tonen
if ( !isset($_POST['bericht']) )
{
?>
<form method="post">
        <?php $dbres = mysql_query("SELECT * FROM interview_vragen WHERE interview_id = '". $id ."' ORDER BY vraag_id ASC");
                 while($interview = mysql_fetch_object($dbres)) {     ?>
        <div class="blok">
<b>Vraag:</b><br />
            <input type="Artist" name="Artist" maxlength="255" value="<?php echo $interview->vraag; ?>" /></div><div class="blok">
            <b>antwoord :</b><br />
            <textarea name="bericht[<?php echo $interview->vraag_id?>]" cols=60 rows=5><?php echo $interview->antwoord; ?></textarea></div>
            <?php
        }?>
            <center><input type="submit" id="post" value="Post!" name="post"/></center>

        </form>
<?php
}
else
{
       foreach ($_POST['bericht'] as $vraag_id => $antwoord)
       {
              $mysql_query("UPDATE ...........");
       }
       echo "Tadaa, resultaten verwerkt!";
}

Zeer grof geschreven :p

Omdat de vraag ook kan worden veranderd, word het dan:

PHP:
<?php
// Er is géén post doorgestuurd bij het opvragen van je pagina, dus formulier tonen
if ( !isset($_POST['bericht']) )
{
?>
<form method="post">
        <?php $dbres = mysql_query("SELECT * FROM interview_vragen WHERE interview_id = '". $id ."' ORDER BY vraag_id ASC");
                 while($interview = mysql_fetch_object($dbres)) {     ?>
        <div class="blok">
<b>Vraag:</b><br />
            <input type="Artist" name="vraag[<?php echo $interview->vraag_id?>]" maxlength="255" value="<?php echo $interview->vraag; ?>" /></div><div class="blok">
            <b>antwoord :</b><br />
            <textarea name="antwoord[<?php echo $interview->vraag_id?>]" cols=60 rows=5><?php echo $interview->antwoord; ?></textarea></div>
            <?php
        }?>
            <center><input type="submit" id="post" value="Post!" name="post"/></center>

        </form>
<?php
}
else
{
       foreach ($_POST['vraag'] as $vraag_id => $vraag)
       {
              $mysql_query("UPDATE ...........");
       }

      foreach ($_POST['antwoord'] as $vraag_id => $antwoord)
       {
              $mysql_query("UPDATE ...........");
       }
       echo "Tadaa, resultaten verwerkt!";
}
juist ?

Cyberkef

Legacy Member
Oeps, idd... Had ik per ongeluk overgekeken aangezien het over textarea ging :p
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan