Volledige versie bekijken : Enkele vraagjes HTML en PHP



gotenks
15 March 2011, 22:27
Ik moet voor mijn stage een inventarisatie opstellen van hun netwerkmateriaal. Omdat ik toch wat origineel wil zijn, ben ik van plan om hiervoor een kleine webapplicatie te maken met PHP en MySQL. Ik heb alles opgesteld, maar aangezien ik een netwerkbeheerder in spé ben en geen progremmeur werken er mij een paar kleine dingetjes tegen.

1. Ik heb een formulier in xHTML 1.0 Strict gemaakt, waarbij het mogelijk is om te bepalen of een product nog in contract staat en of gratis service wordt verleend. Hiervoor werk ik met checkboxen. Ik zal een voorbeeldje illustreren i.v.m. gratis service. Voor dit deel van het formulier gebruik ik een checkbox, waarna een datepicker volgt die standaard disabled staat. Stel dat er gratis service wordt verleend, plaatst men een vinkje in de checkbox die ervoor zorgt dat de datepicker enabled wordt.

Het is me al gelukt met slechts één checkbox in het hele formulier, maar van zodra ik met twee checkboxen werk, werkt het helemaal tegen :/ Hieronder vind je een code snippet.


<form action="producttoevoegen.php" method="post">
<table>
<tr>
<td><strong>Gratis service?</strong></td>
<td><input type="checkbox" name="gratis_service" value="Ja, tot:" /></td>
<td><input type="text" id="service_tot" name="service_tot" class="datepicker" /></td>
</tr>
<tr>
<td><strong>In contract?</strong></td>
<td><input type="checkbox" name="in_contract" value="Ja, tot:" /></td>
<td><input type="text" id="contract_tot" name="contract_tot" class="datepicker" /></td>
</tr>
<tr>
<td>
<input type="submit" value="Bevestigen" />
<input type="reset" value="Annuleren" />
</td>
</tr>
</table>
</form>


2. Om een product te wijzigen, laad ik via PHP alle records van de kolom apparaat_id in een combobox. Wanneer men dan het gewenste id kiest, wordt in het volgende formulier de textboxen ingevuld met de desbetreffende waarden van dat id. Helaas lukt het mij niet om deze opstelling werkende te krijgen. Hieronder vind je een code snippet.


<form method="post" action="<?php echo $PHP_SELF; ?>">
<table>
<tr>
<td><select name="id">
<option>>--- Select ID ---<</option>
<?php
$lijst=mysql_query("SELECT * FROM tblapparatuur ORDER BY app_id ASC");
while($rij=mysql_fetch_assoc($lijst)){?>
<option value="<?php echo $rij['app_id']; ?>"><?php echo $rij['app_id']; ?></option>
<?php } ?>
</select>
</td>
<td><input type="submit" value="OK" /></td>
</tr>
</table>
</form>

<form action="update.php" method="post">
<table>
<tbody>
<tr>
<td><strong>Serienummer:</strong></td>
<td><input type="text" name="serienummer" value="<?php echo $query['serienr'] ?>" /></td>
</tr>
<tr>
<td><strong>Omschrijving:</strong></td>
<td><input type="text" name="omschrijving" value="<?php echo $query['omschrijving']; ?>" /></td>
</tr>
<tr>
<td><strong>Aantal:</strong></td>
<td><input type="text" name="aantal" value="<?php echo $query['aantal']; ?>" /></td>
</tr>
<tr>
<td><strong>Prijs:</strong></td>
<td><input type="text" name="prijs" value="<?php echo $query['prijs']; ?>" /></td>
</tr>
<tr>
<td><strong>Aankoopdatum:</strong></td>
<td><input type="text" id="aankoopdatum" name="aankoopdatum" class="datepicker" value="<?php echo $query['aankoopdatum']; ?>" /></td>
</tr>
<tr>
<td><strong>Installatiedatum:</strong></td>
<td><input type="text" id="installatiedatum" name="installatiedatum" class="datepicker" value="<?php echo $query['installatiedatum']; ?>" /></td>
</tr>
<tr>
<td><strong>IP adres:</strong></td>
<td><input type="text" name="ip_adres" value="<?php echo $query['ip_adres']; ?>" /></td>
</tr>
<tr>
<td><strong>Status:</strong></td>
<td><input type="text" name="status" value="<?php echo $query['status']; ?>" /></td>
</tr>
</tbody>
</table>
<input type="submit" value="Bevestigen" />
<input type="reset" value="Annuleren" />
</form>
Alvast bedankt!

ultddave
15 March 2011, 22:59
Hey,

Probeer:

<?php
$lijst=mysql_query("SELECT * FROM tblapparatuur ORDER BY app_id ASC");
while($rij=mysql_fetch_assoc($lijst)){?>
<option value="<?php echo $rij['app_id']; ?>"><?php echo $rij['app_id']; ?></option>
<?php } ?>


Eens zo te schrijven:

<?php
$lijst=mysql_query("SELECT * FROM tblapparatuur ORDER BY app_id ASC");
while($rij=mysql_fetch_assoc($lijst))
echo '<option value="'.$rij['app_id'].'">'.$rij['app_id'].'</option>';
?>


Dus ge gaat dan in principe zowel uw variabele $rij['app_id' als uw HTML <option> tags uitschrijven in PHP.

Ivm dat ander probleem met de checkboxen. Ik denk dat ge daarvoor een onClick javascript functie moet schrijven voor uw checkbox. Die dan de respectievelijke datapicker moet enablen (en de andere moet disablen).

Zoals hier:
http://www.htmlcodetutorial.com/help/sutra20868.html

Maar daar gaat het over hide/show, enable/disable gaat makkelijker normaal gezien. Nog een voorbeeld:
http://www.htmlgoodies.com/tutorials/forms/article.php/3479101/Triminds---Enable-and-Disable.htm

Alé, als ge dat bedoelt alleszins ;).

Mvg,
Dave

gotenks
15 March 2011, 23:19
Hey,

Probeer:


Eens zo te schrijven:


Dus ge gaat dan in principe zowel uw variabele $rij['app_id' als uw HTML <option> tags uitschrijven in PHP.
Met die combobox te vullen is geen enkel probleem, dat werkt als een pareltje ;)



Ivm dat ander probleem met de checkboxen. Ik denk dat ge daarvoor een onClick javascript functie moet schrijven voor uw checkbox. Die dan de respectievelijke datapicker moet enablen (en de andere moet disablen).

Zoals hier:
http://www.htmlcodetutorial.com/help/sutra20868.html

Maar daar gaat het over hide/show, enable/disable gaat makkelijker normaal gezien. Nog een voorbeeld:
http://www.htmlgoodies.com/tutorials/forms/article.php/3479101/Triminds---Enable-and-Disable.htm

Alé, als ge dat bedoelt alleszins ;).
Heb de voorbeelden bekeken, maar is niet wat ik bedoel. Zal het proberen wat beter uit te leggen met een kleine afbeelding :)

http://i485.photobucket.com/albums/rr213/Gotenks90/Minatica/checkbox.png

Zoals je ziet hebben beide gegevens een checkbox, met daarachter een datepicker die standaard disabled staat. Van zodra je bv. de checkbox bij gratis service aanvinkt, enabled dit de datepicker van gratis service maar gebeurt niks bij in contract. Stel dat je ook bij in contract de checkbox selecteert, dan gebeurt hier hetzelfde ;)

gotenks
17 March 2011, 14:01
Het probleem met de checkboxen is opgelost. Hieronder volgt de oplossing:


<form action="producttoevoegen.php" method="post">
<table>
<tr>
<td><strong>Gratis service?</strong></td>
<td><input type="checkbox" name="gratis_service" value="Ja, tot:"
onclick="document.getElementById('service_tot').disabled=(t his.checked)?0:1" />Ja, tot:</td>
<td><input type="text" id="service_tot" disabled="disabled" name="service_tot" class="datepicker" /></td>
</tr>
<tr>
<td><strong>In contract?</strong></td>
<td><input type="checkbox" name="in_contract" value="Ja, tot:"
onclick="document.getElementById('contract_tot').disabled=( this.checked)?0:1" />Ja, tot:</td>
<td><input type="text" id="contract_tot" disabled="disabled" name="contract_tot" class="datepicker" /></td>
</tr>
</table>
</form>Het probleem met PHP is ondertussen ook opgelost. Oplossing is te vinden op deze link (http://www.w3schools.com/php/php_ajax_database.asp).

ultddave
17 March 2011, 16:05
Ah oops was het even uit het oog verloren (a) :D. Goed dat het opgelost is. ;)

Mvg,
Dave