Select from in een optie box

Status
Niet open voor verdere reacties.

KingShift

Gebruiker
Lid geworden
18 sep 2006
Berichten
185
Hallo mede forum gebruikers,

Als eerste wil ik jullie bedanken als jullie een reactie achter laten.
Ik zit namelijk met een vraag:

Ben bezig met een website aan het maken zodat ik alle computer in een bedrijf in 1 keer kan zien wat afgeschreven moet worden of niet.(dit is een leerdoel voor mezelf ben bezig met het zelf leren van PHP). Maar nu heb ik echt jullie hulp nodig.

Zit namelijk zo ik heb verschillende locatie's ingevoerd. Deze locatie naam wil ik gebruiken voor mijn option box(drop down lijst). De bedoeling is dat gebruikers door simpel te kunnen klikken op welke locatie deze computer staat, die nieuw ingevoerd word. Dit moet later weer uit lees baar zijn op mijn een andere pagina maar dat vind ik wel uit.
Mijn probleem is dat ik niet weet hoe ik zo optie box kan maken die uit de database de locaties ophaalt met het id(dit voor later op die andere pagina kan laten uit lezen dat die locatie die computer heeft te staan).

Dus mijn vraag is:

Hoe kan ik een optie box (drop down lijst) met de ingevoerde locaties uit de database hallen?

Vriendelijke groeten KingShift
 
Ik ga ervanuit dat je weet hoe je een connectie met de database moet opzetten. Je zult daarna beginnen met de database-query. Die ziet er schematisch zo uit:

PHP:
$sql = "SELECT id, veldnaam FROM tabel WHERE veld = 'waarde'";

id, veldnaam vervang je door de namen van de velden die je op wilt halen, gescheiden door komma's. tabel vervang je door de naam van je tabel. WHERE veld = 'waarde'" kun je weglaten als je alle records moet hebben, anders vul je hier de conditie in. Eerst de veldnaam en dan de waarde die dat veld moet hebben.

Vervolgens moet je de query uitvoeren en het resultaat (een resource) opslaan:

PHP:
$result = mysql_query ( $sql );

Nu zitten alle rijen in de $result variabele. Die moet je nu uitlezen. Dat kun je doen om één voor één van alle rijen een array te maken. Vervolgens kun je uit die array de gegevens halen om je select te creeëren:

PHP:
echo '<select name="locatie">';
while ( $row = mysql_fetch_assoc ( $result ) ) {
  echo '<option value="', $row[ 'id' ], '">', $row[ 'veldnaam' ], '</option>';
}
echo '</select>';

En dat is het eigenlijk.
 
Hallo nog een keer,

Ik heb het wel werkend maar dacht dat ik het bij de $POST zelf wel kan uit vinden. Maar op 1 of andere manier werkt het niet met mijn oude $POST iemand een idee hoe dat kan?

Gr KingShift
 
Welke waarde verwacht je in de $_POST?

Op dit moment wordt namelijk de gekozen 'id' meegestuurd en niet de naam; misschien ligt het daar aan? Anders hebben we even een stukje van de code nodig om wat te kunnen zien.
 
Welke waarde verwacht je in de $_POST?

Op dit moment wordt namelijk de gekozen 'id' meegestuurd en niet de naam; misschien ligt het daar aan? Anders hebben we even een stukje van de code nodig om wat te kunnen zien.


is goed verbinding word gemaakt in een include bestand en die is goed dus dat plaats ik hier niet;).

Code voor nieuwe computer toevoegen.

<table width="100%" border="0" cellspacing="1" cellpadding="0">

<tr>
<td>Scholen:</td>
<td>
<?php
$sql = "SELECT id, naamschool FROM scholen";

$result = mysql_query ( $sql );

echo '<select name="naamschool">';
while ( $row = mysql_fetch_assoc ( $result ) ) {
echo '<option value="', $row[ 'naamschool' ], '">', $row[ 'naamschool' ], '</option>';
}
echo '</select>';
?>
</td>
</tr>

<tr>
<td>XPCN nummer:</td>
<td>
<input type="text" name="XPCN" value="<?php echo $computer['XPCN'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td>Type:</td>
<td>
<input type="text" name="type" value="<?php echo $computer['type'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td>Serienummer:</td>
<td>
<input type="text" name="serienummer" value="<?php echo $computer['serienummer'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td>Geheugentype:</td>
<td>
<input type="text" name="geheugentype" value="<?php echo $computer['geheugentype'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td>Geheugenaantal:</td>
<td>
<input type="text" name="geheugenaantal" value="<?php echo $computer['geheugenaantal'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td>Klas:</td>
<td>
<input type="text" name="klas" value="<?php echo $computer['klas'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td></td>
<tr>
<td>Aangeschaft:</td>
<td>
<input type="text" name="aangeschaft" value="<?php echo $computer['aangeschaft'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td></td>
<tr>
<td>Afschrijven:</td>
<td>
<input type="text" name="afschrijven" value="<?php echo $computer['afschrijven'] ?>" size="50" maxlength="120">
</td>
</tr>
<tr>
<td></td>
<td>
<input type="hidden" name="action" value="insert">
<input type="submit" name="Submit" value="Opslaan">
</td>
</tr>
</table>

</body>
</html>

Code voor het posten doe alleen de insert anders word het zo groote code.

if(isset($_GET['action'])) $action=$_GET['action'];
if(isset($_POST['action'])) $action=$_POST['action'];

if($action=="delete"){

$id=$_GET['id'];

$news_SQL_del="DELETE FROM computers WHERE id=$id";
$bool=mysql_query($news_SQL_del);
if($bool==1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('De school is gewist')</SCRIPT>";
if($bool<>1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Bij het verwijderen van de school is een fout opgetreden')</SCRIPT>";
}

if($action=="insert"){

$naamschool=$_POST['naamschool'];
$XPCN=$_POST['XPCN'];
$type=$_POST['type'];
$serienummer=$_POST['serienummer'];
$geheugentype=$_POST['geheugentype'];
$geheugenaantal=$_POST['geheugenaantal'];
$klas=$_POST['klas'];
$aangeschaft=$_POST['aangeschaft'];
$afschrijven=$_POST['afschrijven'];

$XPCN=nl2br($XPCN);
$XPCN=eregi_replace("\n", "", $XPCN);
$news_SQL_insert="INSERT INTO computers (naamschool,XPCN,type,serienummer,geheugentype,geheugenaantal,klas,aangeschaft,afschrijven) VALUES ('$XPCN','$type','$serienummer','$geheugentype','$geheugentype','$klas','$aangeschaft','$afschrijven')";
$bool=mysql_query($news_SQL_insert);
if($bool==1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('De computer is toegevoegd')</SCRIPT>";
if($bool<>1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Bij het toevoegen van de computer is een fout opgetreden')</SCRIPT>";
}
 
is op gelost

$news_SQL_insert="INSERT INTO computers (naamschool,XPCN,type,serienummer,geheugentype,geheugenaantal,klas,aangeschaft,afschrijven) VALUES ('NAAMSCHOOL','$XPCN','$type','$serienummer','$geheugentype','$geheugentype','$klas','$aangeschaft','$afschrijven ')";

het rood gedrukte moest er nog bij.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan