datum zoeken in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Seb wd

seb wd

23/04/2006 20:11:00
Quote Anchor link
Hello all,

Ik heb een scriptje waarmee ik de datum kan invoeren in mijn database, alleen wil ik ook de mogelijkheid om een datum op te zoeken in de database. Het volgende heb ik, maar volgens mij is klopt er iets niet in de $sql en wellicht in de submit (onderaan). Wie-o-wie kan me helpen!

Het volgende scriptje heb ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php

include ("include/dbconnect.php");

$datum = $_POST['iJaar'] . '-' .$_POST['iMaand'] . '-' .$_POST['iDag'];

if ($submit)
    {

    $sql="SELECT * FROM $table WHERE $submit = $datum ORDER BY naam ASC";
    $result = mysql_query($sql);
    $resultsnumber = mysql_numrows($result);
    
    echo "<TABLE BORDER=0>";
    echo "Aantal gevonden: <b><font color=#0066CC>$resultsnumber</font></b>";
    
    $alternate = "2";
        while ($myrow = mysql_fetch_array($result))
        {

        $naam = $myrow["naam"];
        $id = $myrow["id"];        
                
        if ($alternate == "1") {
        $color = "#D8E0E4";
        $alternate = "2";
        }

        else {
        $color = "#E6EEF2";
        $alternate = "1";
}

            echo "<TR bgcolor=$color><TD><img src=images/bullet.gif>&nbsp;$naam &nbsp;</TD>";
            echo "<td><b>>></b><a href='view.php?id=$id'>&nbsp;zie details&nbsp;</a></td>";
            }

    echo "</TR></TABLE>";
    echo "<p>Kijk op <a href='index.php'>Alfabetische volgorde</a> of <a href='$PHP_SELF'>Opnieuw zoeken</a></p>";

    }



else
    {
?>


    
<form method="POST" action="<? $PHP_SELF ?>">
<p></p>
  <table border="0" cellspacing="2" width="380">
    <tr>
      <td>Of zoek op geboortedatum:<b></b></td>
    </tr>
    <tr>
      <td valign="top">
            <?php
// De variabelen die gevuld worden zijn: $iDag, $iMaand en $iJaar
// Deze code kan je zo in je formulier zetten

// Geef hier zelf de jaartallen die ingevuld mogen worden in de dropdown

$jaar        = range( 2000, 2010 );    // Voorbeeld 2000 tot en met 2010

// Array met de namen van de maanden

$maand    = array(    "Januari", "Februari", "Maart", "April", "Mei", "Juni",
                        "Juli", "Augustus", "September", "Oktober", "November", "December");
                        
// Dropdown voor de dagen
echo '<select name="iDag">';
for($i=1; $i<=31; $i++)
{

    echo '<option value="' . $i . '">' . $i . '</option>';
}

echo '</select>';

// Dropdown voor de maanden
$count    = count($maand);
echo '<select name="iMaand">';
for($i=1; $i<=$count; $i++)
{

    echo '<option value="' . $i . '">' . $maand[$i-1] . '</option>';
}

echo '</select>';

// Dropdown voor de jaren
$count    = count($jaar);
echo '<select name="iJaar">';
for($i=1; $i<=$count; $i++)
{

    echo '<option value="' . $jaar[$i-1] . '">' . $jaar[$i-1] . '</option>';
}

echo '</select>';
?>

      </td>
    </tr>
    <tr>
      <td>
        <input type="Submit" class="button" name="submit" value="Zoeken">
      </td>
    </tr>
  </table>
</form>
 <?
    }

?>
 
PHP hulp

PHP hulp

17/11/2024 00:54:09
 
PHP erik

PHP erik

23/04/2006 20:13:00
Quote Anchor link
$sql="SELECT * FROM $table WHERE $submit = '$datum' ORDER BY naam ASC";
 
Seb wd

seb wd

23/04/2006 20:21:00
Quote Anchor link
ik krijg meteen de volgend melding als ik de pagina open:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /var/www/html/test/pedigree/search_datum.php on line 11
Aantal gevonden:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/html/test/pedigree/search_datum.php on line 17
 
PHP erik

PHP erik

23/04/2006 20:25:00
Quote Anchor link
Doe dan niet $submit = '$datum' maar kolomnaam = '$datum'
 
Seb wd

seb wd

23/04/2006 20:33:00
Quote Anchor link
klinkt misschien heel dom (zal wel), maar kolomnaam?
 
Seb wd

seb wd

23/04/2006 20:38:00
Quote Anchor link
klinkt misschien heel dom (zal wel), maar kolomnaam?
 
PHP erik

PHP erik

23/04/2006 21:09:00
Quote Anchor link
Een database is opgebouwd uit tabellen. Een tabel is opgebouwd uit kolommen.

tabel "personeel":
id | voornaam | achternaam

Hierin zijn 'id', 'voornaam' en 'achternaam' kolomnamen.
 
Seb wd

seb wd

23/04/2006 21:15:00
Quote Anchor link
yepz, ik heb het al gevonden thnx... probleem dus opgelost. Alleen nu krijg ik steeds als ik $datum vermeld de engelse datumaanduiding jaar-maand-dag. Weet je ook hoe ik dit in het NL krijg? Ik heb al op het forum gekeken, maar volgens mij is het dat steeds niet (alleen huidige tijd staat dan goed)
 
Klaasjan Boven

Klaasjan Boven

23/04/2006 21:25:00
Quote Anchor link
Ja met DATE_FORMAT()
http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
SELECT DATE_FORMAT(date, '%W %M %Y') AS datum_opgemaakt FROM $table
 
Seb wd

seb wd

23/04/2006 21:31:00
Quote Anchor link
bedankt voor je tip. Alleen moet ik dit in SQL (phpmyadmin) draaien? en datum_opgemaakt, wat bedoel je daar precies mee?
 
Frank -

Frank -

24/04/2006 18:04:00
Quote Anchor link
datum_opgemaakt is de alias van het resultaat dat je krijgt met DATE_FORMAT(date, '%W %M %Y'). Deze alias krijg je als resultaat terug en dus niet de kolom 'date'. Dit heeft als voordeel dat je nog kunt sorteren op 'date' en dat duidelijk is dat 'date' iets anders is dan 'datum_opgemaakt'.

Dit is een stukje SQL die je dus gewoon in je query kan opnemen, zie de handleiding.
 
Seb wd

seb wd

25/04/2006 14:44:00
Quote Anchor link
bedankt! ik heb het even in phpmyadmin gedraaid en inderdaad krijg je dan een alias. Alleen hoe zet ik deze in mijn script?
Ik heb namelijk nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$result = mysql_query("SELECT * FROM $table WHERE id=$id",$db);


hoe zet ik dit ertussen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT DATE_FORMAT(date, '%W %M %Y') AS datum_opgemaakt FROM $table
 
Seb wd

seb wd

02/06/2006 20:21:00
Quote Anchor link
Weet iemand waar ik
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT DATE_FORMAT(date, '%W %M %Y') AS datum_opgemaakt FROM $table
moet zetten?
Ik heb namelijk nu dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
$result = mysql_query("SELECT * FROM $table WHERE id=$id",$db);
   $links = mysql_fetch_array($result);

Merci!
 
- SanThe -

- SanThe -

02/06/2006 20:34:00
Quote Anchor link
Gewoon ertussen gescheiden door een komma.

$result = mysql_query("SELECT *, DATE_FORMAT(date, '%W %M %Y') AS datum_opgemaakt FROM $table WHERE id=$id",$db);
$links = mysql_fetch_array($result);

en dan bv.
echo $links['datum_opgemaakt '];
 
Frank -

Frank -

02/06/2006 20:37:00
Quote Anchor link
Voorbeeldje met foutafhandeling, dat ontbrak ook nog:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$query
= "
SELECT
  DATE_FORMAT(date, '%W %M %Y') AS datumopmaak
FROM
  "
.$table."
WHERE
  id = "
.$id; // variabelen buiten quotes

$result = mysql_query($query);

if(!$result){
  echo 'Mislukt: '.mysql_error().'<br />';
  echo 'Met query: '.$query;
  die(); // kan netter
}

$links = mysql_fetch_array($result);

?>
 
Seb wd

seb wd

02/06/2006 22:09:00
Quote Anchor link
Super! Alleen krijg ik nu bv.:

19th August 2004, hoe krijg ik dit in het Nederlands?
 
Kees de braak

Kees de braak

02/06/2006 22:10:00
Quote Anchor link
Frank hamert wel op foutafhandeling...al meerdere keren gezien hier.
 
Seb wd

seb wd

02/06/2006 22:14:00
Quote Anchor link
wel makkelijk om te kijken wat voor fout je hebt staan in je query. Merci Frank!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.