php και image rollover

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

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

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

php και image rollover

Δημοσίευση από Apostolis_38 » 17 Δεκ 2008 19:09

Μπορούμε να φτιάξουμε στην php απλό image rollover ή πρέπει να χρησιμοποιήσουμε οπωσδήποτε java ή css;
Αυτό που θέλω είναι το εξής:
Τραβώντας εικόνες απο τη βάση και εμφανίζωντάς τες σε πίνακα, θέλω όταν ο χρήστης κάνει κλίκ επάνω σε μία εικόνα να την εμφανίζει (σε άλλο σημείο) σε μεγέθυνση.
Τα position,width και τα σχετικά φαντάζομαι πως θα είναι εύκολη υπόθεση.
Το mouseClick κ.λ.π. δεν ξέρω πως μπορούν να αποδωθούν με την php.

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

php και image rollover

Δημοσίευση από korgr » 17 Δεκ 2008 20:47

Μην κουράζεσαι άδικα Αποστόλη, αυτό που ζητάς γίνεται μόνο client side (στο μηχανάκι του χρήστη) οπότε μόνο με Javascript...
Εκτός και αν δεν σε νοιάζει να γίνεται reload η σελίδα σε κάθε κλικ :wink:

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

php και image rollover

Δημοσίευση από Apostolis_38 » 18 Δεκ 2008 11:08

Τζάμπα κόπος ε;

Μπορείς να βοηθήσεις λίγο;
Το script είναι αυτό:

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

  while ($row =mysql_fetch_array($result2))
{
echo "<table border=0  cellspacing=0 cellpadding=1 class=data_tbl>";
echo "<td>".'<img src="images/pics/'.$row&#91;'pic'&#93;.' "height ="70" width = "70">'."</td>";
echo "</table>";
&#125;
Πρέπει να αντικαταστήσω το:

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

echo '<img src="images/pics/'.$row&#91;'pic'&#93;.' "height ="70" width = "70">'
με java; μπορώ να το κάνω με κάποια function ή κάποιο require;
Πώς γίνεται;

Υ.Γ. δεν θέλω να γίνεται reload όλη η σελίδα. Χτυπάει άσχημα στο μάτι.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

php και image rollover

Δημοσίευση από ThyClub » 18 Δεκ 2008 11:27

Βασικά...

Τα δεδομένα θα τα τραβάς με php, την εμφάνιση θα την καθορίζεις με html και την συμπεριφορά με client side scripting.

Αν πχ θέλεις να κάνεις μια εικόνα να εμφανίζεται σε διάφορα μεγέθη τότε:

Το δεδομένο θα είναι η εικόνα... Άρα τραβάς τα στοιχεία με php απο την ΒΔ σου. Μετά την εμφανίζεις με html και μετά χρησιμοποιείς κάτι σαν το lighbox για την συμπεριφορά. :wink:

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

php και image rollover

Δημοσίευση από korgr » 18 Δεκ 2008 11:44

Κατ' αρχάς Αποστόλη αν δεν έχεις ασχοληθεί και δεν έχεις κατεβάσει το lightbox κάντο από εδώ.
Μετά η html σύνταξη για την μικρή φώτο είναι ΠΧ:

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

<a href="images/gallery/1_big.jpg" rel="lightbox&#91;gallery&#93;"><img src="images/gallery/1_small.jpg" width="120" height="90" border="0"></a>
Πρέπει να έχεις ή δύο versions της εικόνας (μικρή - μεγάλη) ή μια μεγάλη που να την χρησιμοποιείς και ως μικρή με html σμίκρυνση (δεν το προτείνω).

Όπου κολλήσεις σφύρα :wink:

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

php και image rollover

Δημοσίευση από Apostolis_38 » 18 Δεκ 2008 12:29

Βασικά δεν θέλω να μπλέξω με εφαρμογή σαν το lightbox γιατί αυτό που χρειάζομαι είναι πολύ πιο απλό.
Η λογική μου είναι αυτή που περιγράφει ο ThyClub.
Πιστεύω πως ένα απλό

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

<a href="#" onMouseOut="MM_swapImgRestore&#40;&#41;"
 onMouseOver="MM_swapImage&#40;'Image1','','<?php echo trim &#40;$row&#91;'pic'&#93;&#41;?>',1&#41;">
 <img src='<?php echo trim &#40;$row&#91;'pic'&#93;&#41;?>' height ="20" width = "20" name="Image1" width="100" height="50" border="0">
 </a>
θα κάνει την δουλειά που θέλω.
Το πρόβλημα μου είναι πως δεν μπορώ να δηλώσω σωστά το <img src =

Μπορεί να σας φαίνεται γελοίο αλλά με τα (') και τα (") έχω χάσει τη μπάλα :(

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

php και image rollover

Δημοσίευση από ThyClub » 18 Δεκ 2008 12:41

Τι σφάλμα σου βγάζει?

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

php και image rollover

Δημοσίευση από Apostolis_38 » 18 Δεκ 2008 12:49

Parse error: syntax error, unexpected ';' in
άλλες φορές μου απενεργοποιεί εντελώς τον υπόλοιπο κώδικα.

Κάπου δεν "κλείνει" σωστά η php.

Μπροστά στα μάτια μου θα είναι :evil: :evil: :evil: :evil:

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

php και image rollover

Δημοσίευση από ThyClub » 18 Δεκ 2008 13:12

Parse error: syntax error, unexpected ';' in...

Το υπόλοιπο μήνυμα σου λέει που είναι το σφάλμα.

Αν και πιστέυω οτι είναι εδώ:

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

<?php echo trim &#40;$row&#91;'pic'&#93;&#41;?>
και εδώ:

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

<?php echo trim &#40;$row&#91;'pic'&#93;&#41;?>
Για δοκίμασε έτσι:
<?php echo trim ($row['pic']) ; ?>

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

php και image rollover

Δημοσίευση από korgr » 18 Δεκ 2008 15:02

Δοκίμασε και αυτό:

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

<a href="#" onMouseOut="MM_swapImgRestore&#40;&#41;"
 onMouseOver="MM_swapImage&#40;'Image1','','<?=trim &#40;$row&#91;\"pic\"&#93;&#41;;?>',1&#41;">
 <img src='<?=trim &#40;$row&#91;\"pic\"&#93;&#41;;?>' height ="20" width = "20" name="Image1" width="100" height="50" border="0">
 </a>

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

php και image rollover

Δημοσίευση από Apostolis_38 » 18 Δεκ 2008 16:10

Οχι, ούτε αυτό δούλεψε αλλά τελικά το μισό πρόβλημα λύθηκε.

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

echo "<img src='images/pics/".$row&#91;'pic'&#93;."' height = 50 width = 50
 onmouseover=src='images/pics/".$row&#91;'pic'&#93;."' height = 150 width = 150
 onmouseout=src='images/pics/".$row&#91;'pic'&#93;."'  height = 50 width = 50/>";
Το πρόβλημα τώρα είναι οτι κρατάει μόνο την διάσταση που παίρνει στο πρώτο <img src
αλλά που θα πάει, θα λυθεί κι αυτό.

Τελικά ο προγραμματισμός είναι σαν το ποδόσφαιρο. Οσο πιο απλή η σκέψη τόσο πιο σίγουρο και όμορφο το αποτέλεσμα :D

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

php και image rollover

Δημοσίευση από ThyClub » 19 Δεκ 2008 09:54

onmouseover=src='images/pics/"


αυτό δεν παίζει... Δοκίμασε αυτο:

onmouseover='swapem()'

και στην swapem() θα αλλάζεις την εικόνα με js.

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

php και image rollover

Δημοσίευση από Apostolis_38 » 19 Δεκ 2008 11:55

Τι εννοείς δεν παίζει;
Δεν είναι σωστό σαν σύνταξη κώδικα;
Γιατί κατά τα άλλα παίζει μια χαρά και χωρίς καθόλου java, τουλάχιστον στο pc μου που το τεστάρω αλλά φαντάζομαι κι όταν "ανέβει" δεν θα υπάρχει πρόβλημα.
Εφαρμόζωντας την συμβουλή σου και την ιδέα του korgr για δύο εικόνες (μία μικρή σαν thumb και μία κανονική με διαφορετικές διαστάσεις) το πρόβλημα λύθηκε.

Η απορία μου τώρα είναι καθαρά λειτουργικής άποψης.
Οι εικόνες αυτές γίνονται upload ώστε να μπορούν να εμφανιστούν.
Είναι καλύτερα να δημιουργήσω δύο πίνακες (έναν για thumb κι έναν για pictures) ή να περνάω την ίδια εγγραφή σε δύο πεδία στον ίδιο πίνακα;

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

php και image rollover

Δημοσίευση από Alice_Cooper » 20 Δεκ 2008 01:15

xmmm ego gia na apofygo to diplo save ton photo xrisimopoio kati san afto pou exo dosei afto ....

look an voithaei ...
http://www.freestuff.gr/forums/viewtopic.php?t=38597

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

php και image rollover

Δημοσίευση από Apostolis_38 » 22 Δεκ 2008 11:16

Αν και στην παρούσα φάση δεν μου είναι απαραίτητο ένα τέτοιο script, γιατί τις φωτογραφίες θα τις ανεβάζω εγώ οπότε μπορώ να τίς κάνω resize πρίν το upload, παρ' όλα αυτά θα το κοιτάξω γιατί μπορεί να φανεί χρήσιμο σε άλλη περίπτωση.

Σ' ευχαριστώ.

Πάντως απ' ότι κατάλαβα, όταν λές οτι χρησιμοποιείς το script για να αποφύγεις το διπλό save, κι εσύ τα σώζεις σε διαφορετικούς πίνακες.
Κατάλαβα καλά;

Απάντηση

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

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

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