Database records tonen waarvan datum nog niet is verlopen
Uit een database wil ik op het scherm alleen de records tonen waarvan de datum nog niet verlopen is.
Ik heb als code:
Code (php)
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
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
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$today = DATE("Y-m-d");
$query="SELECT * FROM $tabel WHERE toontot>$today";
$sql=mysql_query($query);
echo "<table border='1'>";
echo "<tr><td>Geboren</td> <td>Samenstelling nest</td> <td>Ras</td> <td>Vader</td> <td>Moeder</td> <td>Fokker</td> <td>Woonplaats</td> <td>Telefoon</td> <td>E-mail</td> <td>Website</td> <td>Foto</td> <td>Datum</td> <td>Toon tot</td> </tr>";
while ($row = mysql_fetch_row($result))
echo "<tr>";
echo "<td>".$row['geboren']."</td>";
echo "<td>".$row['nest']."</td>";
echo "<td>".$row['ras']."</td>";
echo "<td>".$row['vader']."</td>";
echo "<td>".$row['moeder']."</td>";
echo "<td>".$row['fokker']."</td>";
echo "<td>".$row['woonplaats']."</td>";
echo "<td>".$row['telefoon']."</td>";
echo "<td>".$row['email']."</td>";
echo "<td>".$row['website']."</td>";
echo "<td>".$row['foto']."</td>";
echo "<td>".$row['datum']."</td>";
echo "<td>".$row['toontot']."</td>";
echo "</tr>";
echo "</table>";
?>
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$today = DATE("Y-m-d");
$query="SELECT * FROM $tabel WHERE toontot>$today";
$sql=mysql_query($query);
echo "<table border='1'>";
echo "<tr><td>Geboren</td> <td>Samenstelling nest</td> <td>Ras</td> <td>Vader</td> <td>Moeder</td> <td>Fokker</td> <td>Woonplaats</td> <td>Telefoon</td> <td>E-mail</td> <td>Website</td> <td>Foto</td> <td>Datum</td> <td>Toon tot</td> </tr>";
while ($row = mysql_fetch_row($result))
echo "<tr>";
echo "<td>".$row['geboren']."</td>";
echo "<td>".$row['nest']."</td>";
echo "<td>".$row['ras']."</td>";
echo "<td>".$row['vader']."</td>";
echo "<td>".$row['moeder']."</td>";
echo "<td>".$row['fokker']."</td>";
echo "<td>".$row['woonplaats']."</td>";
echo "<td>".$row['telefoon']."</td>";
echo "<td>".$row['email']."</td>";
echo "<td>".$row['website']."</td>";
echo "<td>".$row['foto']."</td>";
echo "<td>".$row['datum']."</td>";
echo "<td>".$row['toontot']."</td>";
echo "</tr>";
echo "</table>";
?>
Krijg als error
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/spcadmin/domains/saintprocat.nl/public_html/php-db/tonen2.php on line 20
Is waarschijnlijk heel simpel op te lossen, wie heeft de oplossing?
Alvast bedankt,
Marco
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
SELECT * FROM $tabel WHERE toontot > NOW() is zelfs een stuk beter.
SELECT * FROM $tabel WHERE toontot > NOW() is zelfs een stuk beter.
Gewijzigd op 11/04/2013 19:27:32 door - Ariën -
Uit de tekst van de tutorial:
"We zitten nu in het laatste stukje van onze constructie. Wat moet je hier nu doen? Wel, indien je meerdere rijen geselecteerd hebt uit de database gebruik je een while loop om alles netjes uit te lezen. Indien je 1 rij uit de database hebt gehaald kan je die zo weergeven. MAAR in beide gevallen moet er eerst natuurlijk nog iets anders gebeuren we moeten onze query fetchen, dit doen we met behulp van mysql_fetch_assoc(). Tussen de haakjes van deze functie komt dan onze $result te staan.
Het zou ook kunnen dat we een rij verwijderd hebben of een rij toegevoegt. In dat geval kan je hier een bedankje echoën."
met
doe ik dat dus.
Snap dus niet wat hier mis gaat.
Het draait om je $result, je MOET controleren of deze goed of fout gaat.
Code (php)
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
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
<?php
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$query="SELECT * FROM $tabel WHERE toontot > NOW()";
$result = mysql_query($query);
echo "<table border='1'>";
echo "<tr><td>Geboren</td> <td>Samenstelling nest</td> <td>Ras</td> <td>Vader</td> <td>Moeder</td> <td>Fokker</td> <td>Woonplaats</td> <td>Telefoon</td> <td>E-mail</td> <td>Website</td> <td>Foto</td> <td>Datum</td> <td>Toon tot</td> </tr>";
while ($row = mysql_fetch_row($result))
echo "<tr>";
echo "<td>".$row['geboren']."</td>";
echo "<td>".$row['nest']."</td>";
echo "<td>".$row['ras']."</td>";
echo "<td>".$row['vader']."</td>";
echo "<td>".$row['moeder']."</td>";
echo "<td>".$row['fokker']."</td>";
echo "<td>".$row['woonplaats']."</td>";
echo "<td>".$row['telefoon']."</td>";
echo "<td>".$row['email']."</td>";
echo "<td>".$row['website']."</td>";
echo "<td>".$row['foto']."</td>";
echo "<td>".$row['datum']."</td>";
echo "<td>".$row['toontot']."</td>";
echo "</tr>";
echo "</table>";
?>
mysql_connect($dbhost,$dbgebruiker,$dbww) or die(mysql_error());
mysql_select_db($dbdb) or die(mysql_error());
$query="SELECT * FROM $tabel WHERE toontot > NOW()";
$result = mysql_query($query);
echo "<table border='1'>";
echo "<tr><td>Geboren</td> <td>Samenstelling nest</td> <td>Ras</td> <td>Vader</td> <td>Moeder</td> <td>Fokker</td> <td>Woonplaats</td> <td>Telefoon</td> <td>E-mail</td> <td>Website</td> <td>Foto</td> <td>Datum</td> <td>Toon tot</td> </tr>";
while ($row = mysql_fetch_row($result))
echo "<tr>";
echo "<td>".$row['geboren']."</td>";
echo "<td>".$row['nest']."</td>";
echo "<td>".$row['ras']."</td>";
echo "<td>".$row['vader']."</td>";
echo "<td>".$row['moeder']."</td>";
echo "<td>".$row['fokker']."</td>";
echo "<td>".$row['woonplaats']."</td>";
echo "<td>".$row['telefoon']."</td>";
echo "<td>".$row['email']."</td>";
echo "<td>".$row['website']."</td>";
echo "<td>".$row['foto']."</td>";
echo "<td>".$row['datum']."</td>";
echo "<td>".$row['toontot']."</td>";
echo "</tr>";
echo "</table>";
?>
Thanks, stom, natuurlijk moet je een var controleren.
$result controle toegevoegd en het werkt.