Πρόβλημα με search σε ημερομηνία

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

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

Απάντηση
dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dpa » 14 Μαρ 2010 21:55

Παιδιά έχω ένα πρόβλημα

Έχω ένα table στην βάση μου με άρθρα και έχω ένα πεδίο που κρατάω την ημερομηνία και την ώρα καταχώρησης του άρθρου.

Όταν κάνω αναζήτηση παίρνω την τιμή από το inputbox
$search = trim( $_POST['search'] );

$search2 = date('Y-m-d', strtotime($search2) );

και το ερώτημα είναι αυτό:
$sql = "SELECT * FROM articles WHERE Date = '$search2'";

Το θέμα είναι ότι δεν μου εμφανίζει τίποτα στην αναζήτηση

Το πεδίο που έχω στην βάση είναι DateTime και ώρα και ημερομηνία

Μήπως φταίει αυτό ???

Πως θα το κάνω ???

Ευχαριστώ

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 10:29

Στο strtotime($search2) μηπως πρέπει να το κάνεις:
strtotime($search), δηλαδή να αλλάξεις την μεταβλητή στην παρένθεση με την απο πάνω??
miteletsis

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dpa » 15 Μαρ 2010 10:32

Φίλε ευχαριστώ το είδα το λάθος το διόρθωσα αλλά πάλι δεν μου εμφανίζει τα άρθρα στην ημερομηνία που του ζητάω.

Καμιά άλλη λύση ???

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 10:33

Βασικά αυτό το trim( $_POST['search'] ); τί είναι?
μήπως πρέπει να το κάνεις: $search = $_POST['search']; εννοείτε οτι στο name του αντίστοιχου input box το έχεις όνομα search.
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 10:39

Βασικά στείλε και τον κώδικά σου για να τον δούν και άλλα πεδιά, να δούμε το πώς προσπαθείς ν εμφανίσεις τα δεδομένα στον πίνακα.
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 10:42

Πάρε αυτόν τον κώδικα για παράδειγμα, κάπως έτσι πρέπει να το κάνεις, άλλαξε απλα τα πεδία.

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

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
         
        <title>Αποτελέσματα αναζήτησης</title>
    </head>
    <body>
<table align="center" width="100%" height="100%">
    <tr><td align="center"><p><font size="5" face="times new roman" color="red"><b><u>Αποτελέσματα αναζήτησης</u></b></font></p></td></tr><tr>
    <td align="center">
<?php


include &#40;'dbconnect2.php'&#41;;
$onoma=$_POST&#91;onoma&#93;;

$sql = "SELECT * FROM proionta WHERE onoma_proiontos LIKE '%$onoma%'";
$result = mysql_query&#40;$sql&#41;;
?>
<table border="1" width="60%" height="30%">
<tr>
<td align="center"><b>Φωτογραφία</b></td>
<td align="center"><b>Όνομα</b></td>
<td align="center"><b>Τιμή</b></td>
<td bgcolor="black"></td>
</tr>
<?while&#40;$list=mysql_fetch_array&#40;$result&#41;&#41;&#123;?>
 <tr> <td align="center">
   <a href="pd_page.php?pd_id=<?=$list&#91;'pd_id'&#93;?>"><img width="70" height="65" border="0" src="product/images/<?=$list&#91;"fotografia"&#93;?>"></a></td>
   <td align="center"><b><? echo $list&#91;'onoma_proiontos'&#93; ;?></b></td>
   <td align="center"><b><? echo $list&#91;'timi'&#93;." ".Ευρω ;?></b></td>
   <td align="center"><a href="pd_page.php?pd_id=<?=$list&#91;'pd_id'&#93;?>" target="main_page"> <font size="4" color="red">Περισσότερα...</font></a>
</td></tr><?&#125;?></table>
</td></tr></table>

  </body>
</html>
εγω εδώ έκανα αναζήτηση προιόντων, εσυ άλλαξε απλά τα πεδία.
miteletsis

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dpa » 15 Μαρ 2010 10:46

Το sql είναι το πρόβλημα το έχω στείλει στο πρώτο μήνυμά.

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

$search = trim&#40; $_POST&#91;'search'&#93; &#41;; 

$search2 = date&#40;'Y-m-d', strtotime&#40;$search&#41; &#41;; 

$sql = "SELECT * FROM articles WHERE Date = '$search2'"; 
Το πεδίο Date είναι τύπος δεδομένων DateTime

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 10:51

Για δοκίμασε το $sql = "SELECT * FROM articles WHERE Date = '$search2'"; να το κάνεις
$sql =mysql_query("SELECT * FROM articles WHERE Date = '$search2'");
miteletsis

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 10:54

αλλα αφού είναι datetime εκεί είναι το θέμα, καλύτερα να δεί το πρόβλημα και κάποιο άλλο παιδί.
miteletsis

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dpa » 15 Μαρ 2010 10:54

Φίλε σε ευχαριστώ για την βοήθειά σου δεν είναι λύσεις αυτές που δίνεις.

κάνω το ίδιο πράγμα με αυτό που λες. Δουλεύω mysql 5.
Το καταλαβαίνω ότι θέλεις να με βοηθήσεις αλλά δεν είναι λύσεις αυτές.

Άστο μήπως γνωρίζει κάποιος άλλος.

Σε ευχαριστώ

Άβαταρ μέλους
dimos_mitel
Δημοσιεύσεις: 279
Εγγραφή: 07 Αύγ 2009 21:06
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dimos_mitel » 15 Μαρ 2010 11:01

Η αλήθεια είναι ότι είμαι καινούργιος στην php, απλά προσπάθησα.. τεσπα μακάρι να βρείς την λύση.
miteletsis

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dva_dev » 15 Μαρ 2010 12:26

Εσύ έχεις ένα πεδίο datetime και πας να το συγκρίνεις με κάτι που είναι date.
Αυτά τα δύο δεν μπορεί να είναι ποτέ ίσα. Οπότε έχεις δύο επιλογές:
α) Στο where να κάνεις έλεγχο με το DATE(πεδίο_datetime) ή
β) να κάνεις έλεγχο για το πεδίο_datetime να είναι από: παράμετρο (βάζοντας και ώρα 00:00:00) εώς και παράμετρο2 (=παράμετρο (βάζοντας και ώρα πάλι 23:59:59))

Οπότε θα το κάνεις

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

//Δες το http&#58;//dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date
$search = trim&#40; $_POST&#91;'search'&#93; &#41;;
$search2 = date&#40;'Y-m-d', strtotime&#40;$search&#41; &#41;;
$sql = "SELECT * FROM articles WHERE DATE&#40;`Date`&#41; = '$search2'";
ή

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

 //προτεινόμενο
$search = trim&#40; $_POST&#91;'search'&#93; &#41;;
$fromDT = date&#40;'Y-m-d 00&#58;00&#58;00', strtotime&#40;$search&#41; &#41;;
$toDT = date&#40;'Y-m-d 23&#58;59&#58;59', strtotime&#40;$search&#41; &#41;;
$sql = "SELECT * FROM articles WHERE &#40;`Date` >= '$fromDT'&#41; AND &#40;`Date` <= '$toDT'&#41;";
Το πρώτο που πρέπει να κάνεις πάντως είναι να αλλάξεις το όνομα του πεδίου Date σε κάτι άλλο.

ΥΓ.
Δεν έχω δοκιμάσει, οπότε ίσως να θέλει η σύνταξη ρετουσάρισμα.

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dpa » 15 Μαρ 2010 12:30

Φίλε σε ευχαριστώ πολύ

Δεν το είχα φανταστεί ότι μπορεί να γίνει έτσι !!

Πιστεύω ότι το δεύτερο παράδειγμα είναι πιο λογικό

και πάλι ευχαριστώ θα το δοκιμάσω και θα σου απαντήσω

dpa
Δημοσιεύσεις: 631
Εγγραφή: 29 Μαρ 2008 13:55

Πρόβλημα με search σε ημερομηνία

Δημοσίευση από dpa » 15 Μαρ 2010 12:35

Δοκίμασα το δεύτερο και είναι όλα οκ.

Φίλε χίλια ευχαριστώ

Απάντηση

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

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

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