[solved] List menu waarden onthouden na validatie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

David david

david david

18/05/2009 21:18:00
Quote Anchor link
Hallo ik heb een formulier met validatie. Na een error moet onthouden worden wat er wel is ingevuld. Dit werkt (na hulp hier) wel bij de tekst-veld.
Maar bij een droplist krijg ik het maar niet voor mekaar om deze (waarde) ook te late staan.

De validatie werkt wel,
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<? //controle list
    if($_POST['list'] == -1)
    {

    echo 'Please select one on the List';
    $errors=1;
    }
?>

Maar het behouden van de selectie niet..
Stuk erna:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);

///... in de form
 <select name="list" value="'. $list .'" >
         <
option value="-1">Select One</option>
         <
option value="1">One</option>
         <
option value="2">Two</option>
<
/select>
?>
Gewijzigd op 01/01/1970 01:00:00 door David david
 
PHP hulp

PHP hulp

16/05/2024 03:05:12
 
- SanThe -

- SanThe -

18/05/2009 21:30:00
Quote Anchor link
Alléén relevante code graag. Zo te zien kan dat 'Alles:' script weer weg.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);

///... in de form
echo '<select name="list">
         <option value="-1">Select One</option>
         <option value="1"'
. ($list == 1 ? ' selected' : '') . '>One</option>
         <option value="2"'
. ($list == 2 ? ' selected' : '') . '>Two</option>
</select>'
;
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
David david

david david

18/05/2009 22:11:00
Quote Anchor link
mm of ik het echt begrijp is een ander, maar het werkt wel :P
Dit wordt zeker een stuk complexer als ik later dit zelfde formulier wil gaan updaten..

Ik heb nu zoiets in een andere script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?
<select name="category" size="1"  id="category" >
            <
option selected="selected">-------------</option>
            [
code]<?php
   $query
= "SELECT id, category, label FROM upload GROUP BY category";
   $result = mysql_query($query);
    while($row=mysql_fetch_array($result)){
           echo ("<option value=\"$row[category]\">$row[category]</option>\n");
     }
        
        ?>

          </select>
?>


of krijg je dan zoiets als:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
                                                                
<?<option value=\"$row[category]\" ' . ($list == \"$row[category]\" ? ' selected' : '') . '>One</option>
?>
 
- SanThe -

- SanThe -

18/05/2009 22:24:00
Quote Anchor link
Eerst even wat anders: Programmeer netjes en overzichtelijk en gebruik de juiste syntax.
Exact jouw bovenstaand script:
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
<?php
echo '<select name="category" size="1"  id="category" >
            <option selected="selected">-------------</option>'
;
$query = "SELECT id, category, label FROM upload GROUP BY category";
$result = mysql_query($query);
if($result)
{

     while($row=mysql_fetch_array($result))
     {

          echo '<option value="' . $row['category'] . '">' . $row['category'] . '</option>' . PHP_EOL;
     }
}

else
{
      echo 'ERROR: Query mislukt';
}
        
echo '</select> ';
?>

Verder kan je de bovenstaande manier ook hier gewoon toepassen.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
David david

david david

19/05/2009 00:24:00
Quote Anchor link
moeten die values altijd 1, 2, 3 etc worden?..
want dan moet ik dus ik mijn dynamische dropdown die ook steeds laten oplopen?..
 
Emmanuel Delay

Emmanuel Delay

19/05/2009 01:23:00
Quote Anchor link
De value van een select box is een string. Dat hoeft dus niet 1, 2, 3 zijn.
 
David david

david david

19/05/2009 11:15:00
Quote Anchor link
maar als ik dit probeer:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>
?>


dan krijg ik foutmelding.. sorry hoor, maar probeer het te begrijpen :)
Gewijzigd op 01/01/1970 01:00:00 door david david
 
- SanThe -

- SanThe -

19/05/2009 11:18:00
Quote Anchor link
Wel in een echo zetten.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo '<option value="banaan"' . ($list == banaan ? ' selected' : '') . '>One</option>';
?>


Edit: Misschien niet duidelijk geweest/gezien, maar in mijn eerdere post loopt de echo door over meerdere regels.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
David david

david david

19/05/2009 11:50:00
Quote Anchor link
als ik dit doe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);

///... in de form
echo '<select name="list">
         <option value="-1">Select One</option>
         <option value="banaan"'
. ($list == banaan ? ' selected' : '') . '>One</option>
         <option value="2"'
. ($list == 2 ? ' selected' : '') . '>Two</option>
</select>'
;
?>


krijg ik:
Notice: Use of undefined constant banaan - assumed 'banaan'...
 
- SanThe -

- SanThe -

19/05/2009 11:55:00
Quote Anchor link
Je error zegt het eigenlijk al. Getallen zonder quotes, tekst met quotes.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
///.....
$list=(empty($_POST['list']) ? '' : $_POST['list']);

///... in de form
echo '<select name="list">
         <option value="-1">Select One</option>
         <option value="banaan"'
. ($list == 'banaan' ? ' selected' : '') . '>One</option>
         <option value="2"'
. ($list == 2 ? ' selected' : '') . '>Two</option>
</select>'
;
?>
 
David david

david david

19/05/2009 12:13:00
Quote Anchor link
aah ok :) excuus, nu begrijp ik ook (hopelijk) beter dat het makkelijk is om deze staische list om te zetten naar een dynamische.
 
David david

david david

21/05/2009 00:19:00
Quote Anchor link
mm.. wat doe ik fout in dit stukje? (probeer vanuit database te trekken en valideren..)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php
 echo '   <option value= "' . $row['klant'] . '"   ' . ($klant == ' . $row['klant'] . ' ? ' selected' : '') . '    >' . $row['klant'] . '</option>';?>



ergens hier denk ik?..:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
' . ($klant == ' . $row['klant'] . ' ? ' selected' : '') . '  
?>


(syntax error, unexpected T_STRING...)
Gewijzigd op 01/01/1970 01:00:00 door david david
 
Dutch Caffeine

Dutch Caffeine

21/05/2009 00:36:00
Quote Anchor link
Tip probeer eens netjes te scripten!!!

Met de functie sprintf kan je algouw veel kanten op, en blijft het netjes en overzichtelijk!
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo sprintf('<option value="%s" %s>%s</option>', $row['klang'], ($klant == $row['klant']) ? 'selected="selected"' : '', $row['klant']);
 ?>
Gewijzigd op 01/01/1970 01:00:00 door Dutch Caffeine
 
Hipska BE

Hipska BE

21/05/2009 10:58:00
Quote Anchor link
unexpected T_STRING (LEES JE ERRORS!)

Hier staat LETTERLIJK dat er een string is gekomen waar dat niet hoeft.
En blijkbaar weet jij zelf ook al waar je fout zit.

Wat is je probleem dan?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
 echo '   <option value= "' . $row['klant'] . '" ' . ($klant == $row['klant'] ? ' selected' : '') . '>' . $row['klant'] . '</option>'.PHP_EOL;
?>
 
David david

david david

22/05/2009 12:08:00
Quote Anchor link
zo werkt het idd :)
 



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.