Een vraagje over de foreach loop:
Ik leer op school de PDO methode om verbinden met mysql te maken maar gebruik liever mysql_connect...
Nu heb ik met PDO de volgende (werkende) foreach loop gemaakt:
<?php
session_start();
try {
$db = new PDO('mysql:host=localhost;dbname=planner','admin','hoi');
}
catch(PDOException $e) {
echo $e->getMessage();
}
$sql = "SELECT * FROM tasks WHERE tsk_ID = $_POST[verstopt]";
$resultaat = $db->query($sql);
foreach($resultaat as $row) {
$_SESSION['Tid'] = $row[tsk_ID];
$_SESSION['Tvak'] = $row[tsk_subj];
$_SESSION['Ttitel'] = $row[tsk_title];
$_SESSION['Ttxt'] = $row[tsk_txt];
$_SESSION['TsJ'] = $row[tsk_start_date];
$_SESSION['TsM'] = $row[tsk_start_date];// dag,maand,jaar etc wordt gekozen in index.php
$_SESSION['TsD'] = $row[tsk_start_date];
$_SESSION['TeJ'] = $row[tsk_end_date];
$_SESSION['TeM'] = $row[tsk_end_date];
$_SESSION['TeD'] = $row[tsk_end_date];
$_SESSION['Tdone'] = $row[tsk_done];
}
$db = NULL;
?>
Dit werkt. Nu wil ik dit omzetten naar mysql_connect ipv dat PDO en heb het volgende:
<?php
session_start();
$con = mysql_connect("localhost","admin","hoi");
if (!$con) die('Could not connect: '.mysql_error());
mysql_select_db("planner", $con);
$sql = "SELECT * FROM tasks WHERE tsk_ID = $_POST[verstopt]";
$resultaat = mysql_query($sql,$con);
foreach($resultaat as $row) {
$_SESSION['Tid'] = $row[tsk_ID];
$_SESSION['Tvak'] = $row[tsk_subj];
$_SESSION['Ttitel'] = $row[tsk_title];
$_SESSION['Ttxt'] = $row[tsk_txt];
$_SESSION['TsJ'] = $row[tsk_start_date];
$_SESSION['TsM'] = $row[tsk_start_date];// dag,maand,jaar etc wordt gekozen in index.php
$_SESSION['TsD'] = $row[tsk_start_date];
$_SESSION['TeJ'] = $row[tsk_end_date];
$_SESSION['TeM'] = $row[tsk_end_date];
$_SESSION['TeD'] = $row[tsk_end_date];
$_SESSION['Tdone'] = $row[tsk_done];
}
?>
Dit geeft echter de volgende error:
Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\PO3\verwijderen.php on line 13
Naast dit heb ik de vraag of dit ook anders kan. Dit verwijder script wordt opgevraagd als ik op verwijder klik naast een row in een tabel met een heleboel results. Er is telkens maar 1 'resultaat' dus. Waarom dan die foreach loop als er maar 1 is? (dit heb ik uit mijn boek namelijk).
En ja dat met de SESSIONS kan vast makkelijker of beter maar ik ben een beginner dus dat laat ik nu even zo.
Heeft iemand een oplossing? :)
2.181 views