Select list toevoegen aan tabel veld

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter W

Wouter W

21/02/2012 12:48:23
Quote Anchor link
ik probeer met een eenvoudig invoerscherm regels in de database te schrijven. Dit gaat goed. Nu heb ik een 2e invulscherm gemaakt op dezelfde pagina, ook met behulp van een table. In het eerste veld wil ik dmv een selectie uit de database, gegevens kunnen kiezen en de gekozen waarde verder kunnen gebruiken.

Op zich denk ik een heel eind te zijn, de select knop is zichtbaar, maar niet in het veld, maar ernaast. hoe krijg ik de picklist in het input veld?

<td><input type="text" name="klant_id" size="20"> <!--hier een dropdown menu uit klanten tabel-->
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
<?PHP
mysql_connect( 'localhost', 'root', '' ) or die(mysql_error());
mysql_select_db( 'database' ) or die(mysql_error());

echo "<select>";
$select = "SELECT * FROM klanten WHERE klant_id is not null";
$query = mysql_query($select);

while($row = mysql_fetch_assoc($query))
{

    echo "<option>";
    echo "$row[klant_id]";
    echo "</option>";
}

echo "</select>";

?>

</td>
 
PHP hulp

PHP hulp

23/12/2024 15:04:37
 
Jeroen VD

Jeroen VD

21/02/2012 13:06:05
Quote Anchor link
echo "$row[klant_id]"; vervangen in gewoon echo $row['klant_id'];

verder het standaard verhaal:
- foutafhandeling inbouwen
- error reporting aan
- logica van presentatie scheiden
- gebruik van juiste qoutes
 
Wouter W

Wouter W

21/02/2012 13:21:01
Quote Anchor link
dank. daar heb ik nog niet naar gekeken. maar hoe krijg ik de picklist in het veld, ipv naast het veld?
 
Jeroen VD

Jeroen VD

21/02/2012 13:28:42
Quote Anchor link
je wilt de dropdown in het input veld? dat gaat niet lukken. het zijn twee verschillende invoerelementen, en zullen dus altijd langs elkaar (of net hoe je ze positioneert - in ieder geval los van elkaar) moeten zetten
 
Reshad F

Reshad F

21/02/2012 13:31:39
Quote Anchor link
je kan je query beter geen wildcard gebruiken ( * ) en na je query een fouthandeling gebruiken daarna pas wat je wilt doen. en ook is het makkelijker naar mijn idee om hetgeen wat je wilt ophalen op te halen en dan met php verder te bewerken
wat ik nu dus bedoel is.

Voorbeeld: ( dus weet niet of het precies werkt maar qua opbouw )

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
28
29
30
31
32
<?php

$select
= "SELECT klant_id FROM klanten";

$Squery = mysql_query($select);

if ($Squery === false){

echo 'er is iets misgegaan in de database';
}


else {

// nu kijken of je een waarde tegenkomt

 if (mysql_num_rows($controle) > 0){

while($row = mysql_fetch_assoc($Squery))
{

    echo "<option>";
    echo "$row[klant_id]";
    echo "</option>";
}

echo "</select>";

}


else {

echo 'totaal geen gebruikers in de database';

}
Gewijzigd op 21/02/2012 13:33:59 door Reshad F
 
Jeroen VD

Jeroen VD

21/02/2012 13:35:52
Quote Anchor link
je mist een accolade aan het eind
echo "$row[klant_id]"; is dus echo $row['klant_id'];

verder lost dit het probleem niet echt op. helemaal niet zelfs
 
Wouter W

Wouter W

21/02/2012 13:39:17
Quote Anchor link
dank beiden. dit helpt me verder. ik heb het invoerveld weggehaald en in plaats daarvan de picklist geplaatst.
de netheid en foutafhandeling ga ik ook verwerken.

als ik de gekozen waarde nu mee wil nemen in een insert, moet ik dan nog ergens een id meegeven?
 
Kris Peeters

Kris Peeters

21/02/2012 14:08:46
Quote Anchor link
Een name meegeven aan de select; een value meegeven aan elke option

bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<select name="klant_id">
  <option value="5">foo</option>
  <option value="6">bar</option>
  <option value="7">hello</option>
</select>


Dat wordt dus bv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
while($row = mysql_fetch_assoc($Squery)) {
  echo '<option value="' . $row['klant_id'] . '">' . $row['klant_username'] . '</option>';
}

?>


$row[klant_id] wordt dan opgestuurd als waarde; $row[klant_username] wordt visueel getoond aan de gebruiker
Gewijzigd op 21/02/2012 14:23:23 door Kris Peeters
 
- SanThe -

- SanThe -

21/02/2012 14:08:55
Quote Anchor link
Geef het een name.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
// niet
echo "<select>";

// wel
echo '<select name="hiereenmaam">';
?>
 
Wouter W

Wouter W

21/02/2012 19:29:47
Quote Anchor link
werkt als een speer. Dank allen!

nu een een nieuwe tread aanmaken voor een andere vraag :)
 



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.