Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 30 Νοέμ 2009 16:25

Καλησπέρα σε όλους... Θέλω να κάνω αναζήτηση με κριτήριο την ημερομηνία, δηλαδή να δέχομαι 2 ημερομηνίες ΑΠΟ - ΜΕΧΡΙ και να εμφανίζω το άθροισμα αριθμών (ml) έχουν ημερομηνία καταχωρησης ανάμεσα στις 2 δύο που δηλώνω.

Ορίστε τι έχω κάνει έως τώρα:


<form method="post" action="search_date.php">
<div align="center"><strong><em>Αναζήτηση συνολικής ποσότητας αίματος βάση ημερομηνίας αιμοδοσίας: </em></strong><br>

<strong>Από</strong>
<input type="date" name="d1" size=20 maxlength=255>
<strong>Μέχρι</strong>
<input type="date" name="d2" size=20 maxlength=255> <br>
<input type="Submit" name="Submit" value="Αναζήτηση" STYLE="color: blue;">
</div>
</form>



και το search_date.php :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=greek" />
<title>Φόρμα αναζήτησης</title>
</head>


<body>
<?php


$d1 = $_POST['d1'];
$d2 = $_POST['d2'];

include_once("conn.php");

mysql_select_db("blood2");
mysql_query("set character_set_client=greek");
mysql_query("set character_set_connection=greek");
mysql_query("set collation_connection=greek");
mysql_query("set character_set_results=greek");


$query = "SELECT b_ammount FROM fiales WHERE d_aimod >=".$d1." AND d_aimod<".$d2."";

$result = mysql_query($query) ;

$totalAmount = 0;
while($row=mysql_fetch_assoc($result))
{
$totalAmount = $totalAmount + $row['b_ammount'];
}
echo "$totalAmount";

?>
<br>
<br>

<div align="center">




<A HREF="http://localhost/blood/search_form.php"
onMouseOver="window.status='Click here to go to HTML Goodies'; return true">Επιστροφή στην προηγούμενη σελίδα!</A>

</body>
</html>


Συνεχώς μου εμφανίζει αποτέλεσμα 0!!! Επίσης αν αντι για 2009/05/11 δώσω 787 ή 33464839 για ημερομηνία δεν εμφανίζει λάθος αλλά παλι αποτέλεσμα 0!!!!

Είναι η πρώτη μου εφαρμογή και πραγματικά δεν ξέρω που να κοιτάξω για λάθη...

Ελπίζω να μου βρείτε μια λύση, ευχαριστώ!!!!


PS. Στο $query = "SELECT b_ammount FROM fiales WHERE d_aimod >=".$d1." AND d_aimod<".$d2."";

δοκίμασα και BETWEEN ... AND... αλλά αποτέλεσμα 0 ;)

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από fafos » 30 Νοέμ 2009 16:59

se ti morfh vazeis tis hmeromhnies sthn vash sou?
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 30 Νοέμ 2009 18:11

Η μορφή είναι 2009-09-09 ΥΥΥΥ-ΜΜ-DD , και τα πεδία όλα δηλωμένα date, η καταχώρηση αμερομηνίας από php λειτουργεί μια χαρά.

Επειδή είμαι αρχάριος (την πτυχιακή μου κάνω), ελπίζω να απάντησα ακριβώς σε ότι ρώτησες :)

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από korgr » 30 Νοέμ 2009 18:22

Μια χαρα απαντησες, αλλα υποπτευομαι πως θα παρεις μια απαντηση απο τον fafos του τυπου:
"Τι καλα θα ηταν να τα ειχες καταχωρησει σαν timestamp!" :D

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 30 Νοέμ 2009 18:35

Ευχαριστώ! Δηλαδή προτεένεις να δηλώσω:

<input type="timestamp" name="d2" size=20 maxlength=255>

και να τα αλλάξω ουσιαστικά όλα τα date σε timestamp σε καταχώρηση και αναζήτηση παράλληλα.
2 ερωτήσεις ακόμα, αφού η date έκανε σωστή καταχώρηση, θα πρέπει να διαγράψω τις πληροφορίες αυτές, ή θα λειτουργεί μια χαρα με timestamp παρόλο που καταχωρήθηκαν ως date;

και τέλος απλά η αλλαγή του type αρκεί; ή πρέπει να προσέξω τίποτα ακόμα πχ το format του timestamp;;;;;;;

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από vassilism » 30 Νοέμ 2009 18:42

Μπορείς επίσης να το κάνεις και με την explode() προκειμένου να κόψεις τον χαρακτήρα &#8211; και μετά να μπορείς να συγκρίνεις τις ημερομηνίες σαν νούμερο.

Βέβαια αν τις κρατάς στη βάση σαν timestamp σου δίνει παραπάνω δυνατότητες.

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 30 Νοέμ 2009 18:49

ΟΚ! Μια δοκιμή θα μας πείσει ;)

Αρχίζω από το πεδίο της βάσης μου σωστα? Timestamp και αυτο λοιπόν, και μετά τα υπόλοιπα.

Σε λίγο το αποτέλεσμα...

Be patient :D

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 30 Νοέμ 2009 19:11

Δυστηχώς δεν έκανε κάτι...

Τα έκανα όλα timestamp αλλά το ίδιο πάλι.. αποτέλεσμα 0!!!!!

<form method="post" action="search_date.php">
<div align="center"><strong><em>Αναζήτηση συνολικής ποσότητας αίματος βάση ημερομηνίας αιμοδοσίας: </em></strong><br>

<strong>Από</strong>
<input type="timestamp" name="d1" size=20 maxlength=255>
<strong>Μέχρι</strong>
<input type="timestamp" name="d2" size=20 maxlength=255> <br>
<input type="Submit" name="Submit" value="Αναζήτηση" STYLE="color: blue;">
</div>
</form>


και η search_date.php


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=greek" />
<title>Φόρμα αναζήτησης</title>
</head>


<body>
<?php


$d1 = $_POST['d1'];
$d2 = $_POST['d2'];

include_once("conn.php");

mysql_select_db("blood2");
mysql_query("set character_set_client=greek");
mysql_query("set character_set_connection=greek");
mysql_query("set collation_connection=greek");
mysql_query("set character_set_results=greek");

$query = "SELECT b_ammount FROM fiales WHERE d_aimod >=".$d1." AND d_aimod<".$d2."";

$result = mysql_query($query) ;

$totalAmount = 0;
while($row=mysql_fetch_assoc($result))
{
$totalAmount = $totalAmount + $row['b_ammount'];
}
echo "$totalAmount";

?>
<br>
<br>

<div align="center">


<A HREF="http://localhost/blood/search_form.php"
onMouseOver="window.status='Click here to go to HTML Goodies'; return true">Επιστροφή στην προηγούμενη σελίδα!</A>

</body>
</html>

Επίσης έκανα και 3-4 νέες καταχωρήσεις ως timestamp μήπως και είχε σημασία ο τρόπος που καταχωρήθηκαν αλλά ουτε αυτά τα εμφάνισε....

Καμια άλλη πρόταση;;;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από fafos » 30 Νοέμ 2009 21:03

tha synistousana na dineis thn hmeromhnia se ksexorista drop down menus (hmera - mhnas - etos)... katopin ta metatrepeis se timestamp me to mktime kai kaneis sygkrish...

p.x..: day=12, month = 11, year = 2009:

Κώδικας: Επιλογή όλων

$d1 = mktime&#40;0, 0, 0, $_POST&#91;month&#93;, $_POST&#91;day&#93;, $_POST&#91;year&#93;&#41;;
an epimeneis se ena pedio kai orizeis na sou dinoun oposdhpote hmeromhnia morfhs 12/11/2009 to kaneis etsi:

Κώδικας: Επιλογή όλων

$hmeromhnia = explode&#40;'/', $_POST&#91;d1&#93;&#41;;
$d1 = mktime&#40;0, 0, 0, $hmeromhnia&#91;1&#93;, $hmeromhnia&#91;0&#93;, $hmeromhnia&#91;2&#93;&#41;;
to idio kaneis kai gia to d2...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 01 Δεκ 2009 16:13

Θα δοκιμάσω κάτι άλλο πρώτα γιάτι από ότι διάβασα αυτό είναι λάθος:
<input type="timestamp" name="d1" size=20 maxlength=255>
<input type="date" name="d1" size=20 maxlength=255>

το input δέχεται ως values

button Defines a clickable button (mostly used with a JavaScript to activate a script)
checkbox Defines a checkbox
file Defines an input field and a "Browse..." button, for file uploads
hidden Defines a hidden input field
image Defines an image as a submit button
password Defines a password field. The characters in this field are masked
radio Defines a radio button
reset Defines a reset button. A reset button clears all data from a form
submit Defines a submit button. A submit button sends form data to a server
text Defines a one-line input field that a user can enter text into. Default width
is 20 characters


οπότε θα αρχίσω τα "πειράματα" με text....


Αν δεν ισχύει αυτό, ενημερώστε με (μην παιδευομαι αδικα) ;)

και μετά explodeeeeeeeeeeeee!!!!!!!!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από fafos » 01 Δεκ 2009 16:44

den eixa prosexei ta types sta pedia... vasika, gia na proxorhseis stis dynamikes glosses prepei na gnorizeis poly kala thn html...

an doulepseis me ena pedio kai explode xrhsimopoihse ena javascript validation gia na mhn vazeis ton xrhsth otan kanei lathos sthn syntaksh ths hmeromhnias na ksanasyplhronei thn forma:

http://www.smartwebby.com/DHTML/date_validation.asp
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 01 Δεκ 2009 17:34

Πολύ καλό!!

Βέβαια αυτό σημαίνει οτι πρεπει να αλλάξω πολλά πραγματάκια.

Μου λες σε παρακαλω όμως που γράφουμε τον Java-script Code?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από fafos » 01 Δεκ 2009 18:09

saholias έγραψε:Πολύ καλό!!

Βέβαια αυτό σημαίνει οτι πρεπει να αλλάξω πολλά πραγματάκια.

Μου λες σε παρακαλω όμως που γράφουμε τον Java-script Code?
ta javascripts klp scriptakia -pou ekanan kapoioi ton kopo na grapsoun- ta prosarmozoume pano sthn douleia mas kai oxi thn douleia mas pano se auta.. vale to prin thn forma...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 01 Δεκ 2009 18:34

:lol: Οι αλλαγές αφορούν και άλλα πεδια που είναι date αλλά είναι απλά καταχωρήσεις και δεν τα χρησιμοποιώ όπως αυτές τις ημερομηνίες σε αυτη τη περίπτωση.

Και θα το βάλω σε κάθε εισαγωγή ημερομηνίας :D

Δεν το ελυσα ακόμα το προβλημα μου, ακόμα 0 έχει σαν αποτελεσμα, ελπίζω το λάθος να είναι στο είδος των μεταβλητών και όχι κάπου αλλού.

Περίργη κατάσταση οι ημερομηνίες :kaloe:

Μόλις το τελειώσω θα το κανω post. Thanks guys!

saholias
Δημοσιεύσεις: 17
Εγγραφή: 12 Νοέμ 2009 02:32

Αναζήτηση σε php με κριτήριο την ημερομηνία...?

Δημοσίευση από saholias » 01 Δεκ 2009 19:09

fafo το script θα μπορούσα να το κάνω να δέχεται 2 ημερομηνίες;

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες