Εμφάνιση αποτελεσμάτων

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

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

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 03 Νοέμ 2008 14:26

korgr έγραψε:Ειλικρινά όμως δεν έχω καταλάβει γιατί έχεις κολήσει με αυτό, την στιγμή που θα μπορούσες με το pagination που σου πρότεινα, να περνάς εύκολα κάθε μεταβλητή και να σου δουλεύει και με post και με get κλήσεις.
Δεν έχω κολλήσει.
Απλώς ψάχνω να βρώ μία καλή λύση.
Το δικό σου παράδειγμα δεν το έχω αποκλείσει, απλώς το ψάχνω για να δω πως "χειρίζεσαι" το όλο θέμα. Είπαμε να αντιγράψω αλλά να ξέρω και τι κάνει αυτό που αντιγράφω αλλιώς δεν έχει νόημα.
Ελπίζω να μη μου κάνεις μήνυση για πνευματική ιδιοκτησία :D

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

Εμφάνιση αποτελεσμάτων

Δημοσίευση από korgr » 03 Νοέμ 2008 15:37

Apostolis_38 έγραψε: Είπαμε να αντιγράψω αλλά να ξέρω και τι κάνει αυτό που αντιγράφω αλλιώς δεν έχει νόημα.
M' αρέσεις! :wink:

Εγώ το διέθεσα ελεύθερα για να βοηθηθούν κάποιοι συνάδελφοι, οπότε μην ανησυχείς! :D
Τώρα αν κάτι δεν καταλαβαίνεις μπορούμε να το δούμε πιο αναλυτικά.

Καλή συνέχεια...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 03 Νοέμ 2008 17:37

Κατ' αρχάς δεν μπορώ να βρω που γίνονται echo τα πρώτα αποτελέσματα του query.
Εγώ τα εμφάνιζα με $row['πεδίο']...
Με τον δικό σου τρόπο μου βγάζει undifened variable (πρωτότυπο ε; :D ).

Για να πω και την αλήθεια δεν ξέρω αν έχω βάλει με τη σωστή σειρά τα parts που έχεις postάρει.

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

Εμφάνιση αποτελεσμάτων

Δημοσίευση από korgr » 03 Νοέμ 2008 19:59

Λοιπόν, ας τα πάρουμε τα πράγματα από την αρχή:
Αν το αρχείο σου είναι το search.php τότε στον ίδιο φάκελο βάζεις και τα εξής αρχεία:
pagination.php
pagination.css
Σε ένα φάκελο με όνομα images βάζεις το pagination_bg.jpg
Και τα 3 αρχεία μπορείς να τα βρεις στο www.webpage.gr/download/pagination.zip

Πάμε στο αρχείο σου τώρα (search.php)
Πριν το <html> βάζεις:

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

<?php
require &#40;'pagination.php'&#41;;
?>
Στο <head> βάζεις:

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

<link href="pagination.css" rel="stylesheet" type="text/css" />
Όταν φτάσεις στο σημείο να κάνεις το query:

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

$query = "select distinct&#40;a.carea&#41;,a.*,b.lcustid,b.llogo,c.barea
from customers a, logos b,banners c
where $searchterm = '".trim &#40;$_POST&#91;"searchterm"&#93;&#41;."' and
$searchtype = '".trim &#40;$_POST&#91;"searchtype"&#93;&#41;."'
and a.carea = '1' and a.ctype = '1' and a.cfavid = '1'
and a.custid = b.lcustid and a.carea = c.barea"; 

$result=mysql_query&#40;$query&#41;; //count records
$maxrows=mysql_num_rows &#40;$result&#41;;
$mode = 30; // αριθμός αποτελεσμάτων ανά σελίδα
$page = &#40;$page > 0&#41; ? $page &#58; 1; // αν δεν έχει δωθεί η μεταβλητή $page να ορισθεί ως 1
$startrecord=&#40;$page * $mode&#41; - $mode; // η πρώτη εγγραφή του σετ &#40;αρχική τιμή της LIMIT&#41;
$startrecord=&#40;$startrecord < 0&#41; ? 0 &#58; $startrecord ; // Απαγορεύεται η αρνητική τιμή

$query.=" LIMIT $startrecord, $mode";
$result=mysql_query&#40;$query&#41;;
$rows=mysql_num_rows &#40;$result&#41;;

if&#40;$rows&#41;&#123;
$carea = $_POST&#91;"carea"&#93;;
$ctype = $_POST&#91;"ctype"&#93;;
$vars = 'carea,ctype';
pagination&#40;$maxrows, $mode, true, $vars&#41;; // εμφάνιση top pagination με κείμενο "Βρέθηκαν...κλπ"
&#125;

while &#40;$row = mysql_fetch_array &#40;$result&#41;&#41; &#123;

// εμφάνισε εδώ τις εγγραφές σου

&#125;

if&#40;$rows&#41;&#123;
$carea = $_POST&#91;"carea"&#93;;
$ctype = $_POST&#91;"ctype"&#93;;
$vars = 'carea,ctype';
pagination&#40;$maxrows, $mode, false, $vars&#41;; // εμφάνιση bottom pagination χωρίς κείμενο "Βρέθηκαν...κλπ"
&#125;
Δε ξέρω αν μπορώ να το αναλύσω περισσότερο...
Καλή επιτυχία! :wink:

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 04 Νοέμ 2008 12:58

Για να γίνεις πιο αναλυτικός θα πρέπει να μου φτιάξεις εσύ τη σελίδα :D

Παρ' όλα αυτά. ΔΕΝ...

Μου παρουσιάζει πάλι το ίδιο πρόβλημα :evil: :evil: :evil: .
Παρατήρησα πάντως το εξής: και με τον δικό σου τρόπο και με του panosru, όταν κάνω το κολπάκι με τη form που μου είπες (form action = ""), περνάει τα στοιχεία, βγάζει πάλι undefined variable αλλά μόλις πατήσεις το εικονίδιο search φέρνει την εγγραφή που ζητάς!!!!!
Πράγμα που επιβεβαιώνει οτι το μπλέξιμο είναι στο στήσιμο της html.

f****, f****, f**** :evil: :evil: :evil:

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 05 Νοέμ 2008 14:35

korgr, καλησπέρα.
παρατήρησα κάτι στη σελίδα σου ( http://www.webpage.gr/ ) που ίσως να είναι η λύση στο πρόβλημά μου.

Οταν κάνεις κλίκ στην Ταξινόμηση βλέπω οτι κρατάει την τιμή που του έχεις δώσει.
π.χ. αν δώσεις Χρονολογικά μένει εκεί και δεν γυρνάει στο Αυτόματη.

Πως γίνεται αυτό;

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

Εμφάνιση αποτελεσμάτων

Δημοσίευση από korgr » 05 Νοέμ 2008 17:12

Με συνθήκες φροντίζω να κάνω το εκάστοτε option selected

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

<option value="sort" <?if&#40;!$sort || $sort=='sort'&#41;&#123;echo&#40; 'selected="selected"'&#41;;&#125;?>>Αυτόματη</option>
<option value="domain" <?if&#40;$sort=='domain'&#41;&#123;echo&#40; 'selected="selected"'&#41;;&#125;?>>Αλφαβητικά</option>
<option value="year" <?if&#40;$sort=='year'&#41;&#123;echo&#40; 'selected="selected"'&#41;;&#125;?>>Χρονολογικά</option>
Σημείωση:
η $sort παίρνει τιμή από την ανάλογη POST μεταβλητή...

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 12 Νοέμ 2008 12:21

Λοιπόν, δεν ξέρω αν θα βοηθηθεί κάποιος απο το topic που άνοιξα αλλά το συμπερασμα είναι ένα.
Εφαγα τα λυσσακά μου, κατέβασα το μισό internet, γράφτηκα σε όλα τα forum που δεν μιλάνε κινέζικα και ινδικά, αλλά pagination και "σταθερά" κριτήρια αναζήτησης ΔΕΝ δουλεύουν μαζί.
Πρέπει είτε η αναζήτηση και τα αποτελέσματα να είναι σε ξεχωριστές σελίδες (το πιο συνηθισμένο) είτε με κάποιο τρόπο τα κριτήρια να "φεύγουν απ΄τη μέση" μετά την πρώτη σελίδα.

case is closed :pint:

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

Εμφάνιση αποτελεσμάτων

Δημοσίευση από vassilism » 12 Νοέμ 2008 18:23

Εγώ δεν συνέχισα να σου απαντάω για μην σε μπερδέψω περισσότερο αλλά τελικά τα μπέρδεψες.
Θες να το πάμε από την αρχή βήμα βήμα να δεις ότι τελικά θα βγεί?

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 13 Νοέμ 2008 11:13

Αλίμονο, αν θέλω και βοήθεια για να μπερδευτώ...
Μια χαρά τα καταφέρνω και μόνος μου. :D :D :D

ok, αφου θέλεις πάμε να το δούμε.
Τι ακριβώς θέλεις να σου πω.


Υ.Γ. Πάντως είναι λίγο "ιδιάζουσα" περίπτωση.
Οπως είχε στηθεί η σελίδα το form με τα κριτήρια υπήρχαν στο body της html.
Δηλαδή ήταν σταθερό element του site, όπως τα logos τα nav buttons κ.λ.π.
Προσπαθώντας να πάω στη δεύτερη - τρίτη κ.λ.π. σελίδα το script έβρισκε πάλι μπροστά του τα κριτήρια και έπρεπε να ξαναοριστούν.
Οσο κι αν έψαξα δεν βρήκα αντίστοιχο τρόπο pagination. Ο πιό συνηθισμένος τρόπος είναι να δίνονται τα κριτήρια σε μία σελίδα και σε μία ξεχωριστή σελίδα να εμφανίζονται τα αποτελέσματα. Σε αυτήν όμως δεν υπάρχει πάλι το form που δηλώνεις τα κριτήρια αναζήτησης.

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

Εμφάνιση αποτελεσμάτων

Δημοσίευση από korgr » 13 Νοέμ 2008 12:05

Τώρα γιατί εγώ υποψιάζομαι πως δεν περνάς στο submit κάποιο action του τύπου mode=search ώστε να το εξετάζεις και ανάλογα να εμφανίζεις την φόρμα σου ή όχι;
Όταν σε μία σελίδα έχουμε και την φόρμα αλλά και τον κώδικα επεξεργασίας της φόρμας μετά από submit, ο προτεινόμενος τρόπος είναι να ορίζεις ένα mode.

Παράδειγμα:

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

<?
if&#40;$mode != 'search'&#41;&#123;
?>
show the form here...
<?
&#125;else&#123;
?>
show results here...
<?
&#125;
?>
αλλιώς αν θες οπωσδήποτε σε κάθε περίπτωση να υπάρχει και η φόρμα σου, θα ορίζεις δυναμικά τα κριτήριά της (με if όπως σου είχα πει...), αφού είναι php το αρχείο σου...
Γενικά "σταθερά κριτήρια" δεν υπάρχουν εκτός αν έχουμε στατική html σελίδα!
Κάτι δεν έχεις εμπεδώσει στην λογική του θέματος γιαυτό έχεις κολήσει! Μην τα παρατάς τώρα! :wink:

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 13 Νοέμ 2008 13:50

korgr, μ' έχεις τσακίσει :D :D :D
τι είναι πάλι το mode = search; :roll:
να σου τονίσω οτι είμαι ερασιτέχνης αυτοδίδακτος, όχι επαγγελματίας του χώρου και δεν ξέρω ούτε το ένα χιλιοστό απο αυτά που γνωρίζεται εσείς.
Τεσπά.

Το form της αναζήτησης είναι (ήταν για την ακρίβεια 8) ) σταθερά στο επάνω αριστερά τμήμα της σελίδας. Είτε αποφασίσεις να το χρησιμοποιήσεις, είτε όχι αυτό είναι εκεί.
Οπότε δεν τίθεται θέμα if (!=), !isset,empty ή οτιδήποτε.

Αυτό που δοκίμασα ήταν ο τρόπος που μου υπέδειξες με το if μέσα στο form αλλά δεν κατάφερα να το κάνω να παίξει. Βέβαια δεν το πολυπάλεψα γιατί βιαζόμουν αλλά το έχω stand by γιατί είναι ενδιαφέρων τρόπος και πιστεύω οτι θα με βοηθήσει σε άλλες περιπτώσεις.

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 13 Νοέμ 2008 14:02

Λοπόν, έχετε δίκιο και οι δύο.

Επειδή όπως είπε κι ο korgr, ποτέ μην τα παρατάς βρήκα το λάθος :evil: :evil: :evil: :evil:
form action="" method="get", trim ($_GET['searchterm'] κ.λ.π.) κι όχι post και παίζει μια χαρά.
Αλλο ένα βέλος στη φαρέτρα :D .

Ζητάω συγνώμη αν σας έπρηξα.

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

Εμφάνιση αποτελεσμάτων

Δημοσίευση από korgr » 13 Νοέμ 2008 14:04

:yea:

Ήταν κρίμα μετά από τόσο αγώνα να τα παρατήσεις :)

Apostolis_38
Δημοσιεύσεις: 1969
Εγγραφή: 14 Φεβ 2008 16:20
Τοποθεσία: ΠΕΙΡΑΙΑΣ

Εμφάνιση αποτελεσμάτων

Δημοσίευση από Apostolis_38 » 13 Νοέμ 2008 14:20

:wink:
Πάντως korgr, τώρα που σε βρήκα έμπλεξες :D
Απο απορίες άλλο τίποτα, βιβλίο γράφω.

Απάντηση

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

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

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