Hallo,

Ik heb een lijst met checkboxes. En deze wil ik, indien aangevinkt, naar de URL sturen met een GET functie, maar ik weet niet echt waar ik mee moet beginnen.

Kan iemand mij op weg helpen?
(En ja, ik heb al op google gekeken. Maar ik kan nog niet echt code lezen dus het is voor mij dan best lastig om er iets bruikbaars van te maken. Het wordt gelukkig wel steeds beter ;)

Ik heb tot nu toe dit:

<?php

while ($rows = mysql_fetch_assoc($result)) {

echo '<ul>';
echo '<li>' .'<input type="checkbox" name="id" value="1"/>' . '<a href="RCwebsite-index.php?id=' . $rows[$pid] . '">Name: ' . $rows[$name] . '</a><br />'
. 'Comment: ' . $rows[$comments] . '</li>' ;
echo '</ul>';

}

?>

Bvd, Tom
@ Aaron
Hij laat nu de lijst zien zoals ik hem al had, dus dat werkt goed. Maar hij stuurt nog niks naar de URL als ik het aanvink?

@Eddy
Ik heb nu een pagina met in een <div>tag:

<form action="processor.php" method="get">
...je formulieren...
</form>

Waarin ik action="processor.php" verander in action="dit_script.php"
En wat moet ik dan neerzetten in: ...je formulieren...?
Want mijn formulier wordt uit mijn SQL gehaald met "dit_script.php"

Je formulier die opgebouwd wordt?

Verdiep je anders eerst eens in HTML....
Je bedoeld mijn checkboxes en product omschrijvingen e.d.

Want die haal ik uit:

<?php
while ($rows = mysql_fetch_assoc($result)) {

echo '<ul>';
echo '<li>' .'<input type="checkbox" name="id" value=="on"/>' . '<a href="RCwebsite-index.php?id=' . $rows[$pid] . '">Name: ' . $rows[$name] . '</a><br />'
. 'Comment: ' . $rows[$comments] . '</li>' ;
echo '</ul>';

}

?>

Ik heb dus geen vastwaardes en vast aantal checkboxes, deze komen uit mijn db.
Het is geen contact formulier o.i.d. maar meer een keuze menu waarin je product groepen kan kiezen.
In het script dat je hebt worden de formulieren geprint op het scherm, dus probeer die eens tussen de tag's te zetten, dan heb je een volledig werkend formulier.
Maar het blijft een formulier.
@- Aar -: Natuurlijk moet het proces daarna nog worden ontwikkeld, maar het formulier werkt.
@Eddy

Bedoel je dan zo iets:

<?php
<div id="Productenlijst">
<form action="checkbox_to_url.php" method="get">
<?php
// Database connectie:
$Conn = mysqli_connect("****", "****", "****", "****") or trigger_error('Er kon geen database connectie gemaakt worden. Probeer het later nog eens opnieuw.');
//require_once"database_connect.php";

// Selecteer alles uit de database:
$SQL = mysqli_query($Conn, "SELECT ID,Product_title,Product_info FROM producten ORDER BY id ASC LIMIT 1,6") or trigger_error('De producten konden niet geselecteerd worden door een error.');
// Sluit de connectie:
mysqli_close($Conn);

// Kijken of er wel berichten zijn:
if(mysqli_num_rows($SQL) > 0) {

// Eerst form tags openen, anders kunnen we hier niets mee:
echo '<form method="GET">'; // Je kunt eventueel nog action toevoegen om de gebruiker naar ergens anders te sturen

// Nu gaan we alles tonen op de site:
while($Row = mysqli_fetch_assoc($SQL)) {

// Echo alles in een lijst:
echo '
<ul>
<li><input type="checkbox" name="di" value="on" /><a href="RCwebsite-index.php?id='.$Row['ID'].'">Naam: '.$Row['Product_title'].'</a><br />
Commentaar: '.$Row['Product_info'].'</li>
</ul>'; }

// Het formulier moet nog gesloten worden:
echo '</form>'; }

// Als er geen berichten zijn:
else {
echo 'Er bevinden zich geen producten in de database.'; }
?>
</form>
?>

Want dan krijg ik inderdaad wel een lijst, maar die had ik al een. Maar waar print hij dan de formulieren? want er gebeurd niet veel als ik een checkbox aan vink.
Zoals Eddy zegt, je hebt alleen nog maar een formulier, het daadwerkelijke proces dat er iets moet gaan gebeuren met het formulier moet nog ontwikkeld worden.

Als het goed is, zou het de data nu in ieder geval aan dezelfde pagina doorgeven d.m.v. GET. Dat is toch wat je wou?
Misschien met Ajax iets als je erop klik (aanvinkt) dat het script aangeroepen wordt. Of je kunt onderaan een <input name="zoeken" value="Zoeken" /> invoegen en dan door middel van een script alles uitrekenen, tonen of wat je ermee wilt doen!
Dus als ik het dan goed begrijp, dan kan ik ook mijn originele code gebruiken met daarvoor:

<form method="get">

en daar achter:

</form>

Dan krijg ik dus:

<?php
<form method="get">

<?php

require_once"query_foutafhandeling.php";
require_once"database_connect.php";

//----------------------------------------------------------------------------

//-----Query to select items from MySQL database------------------------------
$sql = "SELECT * FROM producten ORDER BY id ASC LIMIT 1,6";
$result = mysql_query($sql);
if ($result == false) {
echo showSQLError($sql,mysql_error(),'Fout met database.');
}

//-----Variables witch are linked to the MySQL databade fields----------------
$pid= "ID";
$name = "Product_title";
$comments = "Product_info";
$checkbox = "checkbox";


//-----While loop witch execute the query-------------------------------------
while ($rows = mysql_fetch_assoc($result)) {

echo '<ul>';
echo '<li>' .'<input type="checkbox" name="id" value=="on"/>' . '<a href="RCwebsite-index.php?id=' . $rows[$pid] . '">Name: ' . $rows[$name] . '</a><br />'
. 'Comment: ' . $rows[$comments] . '</li>' ;
echo '</ul>';

}


?>
</form>

?>

Met deze toevoeging heb ik dus een formulier en dus ook de mogelijkheid om info te verzenden naar de URL (wat zonden <form> tag's niet zou kunnen).
En moet ik nu dus nog een submit button toevoegen de een script uitvoerd om de info aan de URL toevoegd?

Klopt dit? of zit ik nog steeds verkeerd te denken?

Reageren