Nikolas_Bounas Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Καλησπέρα, έχω τον παρακάτω κώδικα php και html ο οποίος περιέχει 2 tables που τραβάνε δεδομένα από μια βάση δεδομένων και θέλω να εμφανίσω τα στοιχεία του πίνακα της βάσης δεδομένων σε αυτά τα tables. Στη σελίδα που προσπαθώ να φτιάξω, έχω μια dropdown λίστα με κάποια κουμπία και θέλω όταν πατάω ένα συγκεκριμένο κουμπί να εμφανίζονται τα παρακάτω tables. Αυτό το κάνω με jquery. Το πρόβλημα είναι ότι για λόγο που δεν βρίσκω, όταν έχω εντολή μέσω id στη css οι πίνακες να είναι μόνιμα κρυμμένοι με "display:none;", όταν πατάω το κουμπί μου, εμφανίζεται μόνο η πρώτη εγγραφή που υπάρχει στη βάση δεδομένων, ενώ όταν δεν έχω αυτή την εντολή css, εμφανίζονται όλες οι εγγραφές κανονικά, αλλά δεν είναι κρυμμένο όπως θέλω(εμφανίζεται πάντα). Μπορεί κάποιος να με βοηθήσει παρακαλώ πολύ; Παρακάτω παραθέτω τον κώδικα Κώδικας jquery $(document).ready(function(){ $('#p4').click(function(){ //p4 id για το κουμπί της dropdown λίστας $('#table4').show(); $('#table5').show(); }); }); Κώδικας php <table name="table4" id="table4" width="941" border="1" cellspacing="0" cellpadding="3" align="center"> <tr> <td width="8%"><b>No.</b></td> <td width="8%"><b>Όνομα</b></td> <td width="11%"><b>Επώνυμο</b></td> <td width="11%"><b>Πατρώνυμο</b></td> <td width="9%"><b>Διεύθυνση Κατοικίας</b></td> <td width="6%"><b>Πόλη</b></td> <td width="7%"><b>ΤΚ</b></td> <td width="7%"><b>ΑΜΚΑ</b></td> <td width="7%"><b>Τηλέφωνο</b></td> <td width="7%"><b>E-mail</b></td> </tr> </table> <?php // Run the actual connection here $link=mysqli_connect("$dbhost","$dbusername","$dbpass") or die ("could not connect to mysql"); mysqli_select_db($link,"$dbname") or die ("no database"); $result = mysqli_query($link, "SELECT * FROM lista_asthenwn"); $astheneis = mysqli_num_rows($result); while($row = mysqli_fetch_array($result)){ ?> <table name="table5" id="table5" class="table5" width="941" border="1" cellspacing="0" cellpadding="3" align="center"> <tr> <td width="13%"><?php echo $row['id']?></td> <td width="13%"><?php echo $row['Onoma']?></td> <td width="9%"><?php echo $row['Epwnumo']?></td> <td width="6%"><?php echo $row['Patrwnumo']?></td> <td width="21%"><?php echo $row['Dieuthunsh']?></td> <td width="10%"><?php echo $row['Poli']?></td> <td width="9%"><?php echo $row['TK']?></td> <td width="10%"><?php echo $row['AMKA']?></td> <td width="8%"><?php echo $row['Til']?></td> <td width="3%"><?php echo $row['Email']?></td> </tr> </table> <?php // close while loop } // close connection mysqli_close($link); ?> Κώδικας css #table4 { margin-top: 150px; display:none; } #table5 { display:none; }
rafinos Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Για αρχή πρέπει να βάλεις τον κώδικα ανάμεσα σε code (επέλεξέ τον και μετά πάτα το μαγικό κουμπάκι του editor με το <>) για να τον δούμε καλύτερα. Αν και δεν πολύ κατάλαβα τι ακριβώς φταίει για δοκίμασε το εξής. Βγάλε το display:none; και από τους δύο πίνακες. Μετά πήγαινε πριν από το </body> και φόρτωσε εκεί την jquery (όχι στο <head>) και μετά γράψε το παρακάτω: <script type="text/javascript"> $('#table4').hide(); $('#table4').hide(); $('#p4').click(function(){ //p4 id για το κουμπί της dropdown λίστας $('#table4').show(); $('#table5').show(); }); </script> Ουσιαστικά κάνει ακριβώς το ίδιο, απλά μπορεί να παίζει θέμα με τη φόρτωση των δεδομένων στον πίνακα επειδή είναι "display: none".
dominotrix Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Εμενα δειχνει να λειτουργει κανονικα: οταν κανεις κλικ στο μαυρο κουμπι (που εχει το id "p4") τοτε τα tables γινονται hide. http://codepen.io/dominotrix/pen/QEXXAq Είναι άλλο το προβλημα σου, μηπως δε καταλαβα σωστα;
rafinos Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Εμενα δειχνει να λειτουργει κανονικα: οταν κανεις κλικ στο μαυρο κουμπι (που εχει το id "p4") τοτε τα tables γινονται hide. http://codepen.io/dominotrix/pen/QEXXAq Είναι άλλο το προβλημα σου, μηπως δε καταλαβα σωστα; Βασικά το ανάποδο (unhide). Επίσης κάτι άσχετο @Nikolas_Bounas γιατί δεν εμφανίζεις τα δεδομένα που θέλεις στον πρώτο πίνακα και προσθέτεις έναν τελείως καινούριο με διαφορετικά width;
Nikolas_Bounas Δημοσ. 26 Αυγούστου 2016 Μέλος Δημοσ. 26 Αυγούστου 2016 Βασικά το ανάποδο (unhide). Επίσης κάτι άσχετο @Nikolas_Bounas γιατί δεν εμφανίζεις τα δεδομένα που θέλεις στον πρώτο πίνακα και προσθέτεις έναν τελείως καινούριο με διαφορετικά width; Σε έναν πίνακα το είχα στην αρχή αλλά δεν μου εμφανιζόταν καμία εγγραφή από τη βάση δεδομένων. Το πρόβλημα μου είναι ότι δεν εμφανίζονται οι εγγραφές γενικά. Με τους 2 πίνακες παίρνει τα δεδομένα της βάσης αλλά λειτουργεί μόνο χωρίς το display:none; της css, που όμως έτσι οι 2 πίνακες εμφανίζονται πάντα
rafinos Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Σε έναν πίνακα το είχα στην αρχή αλλά δεν μου εμφανιζόταν καμία εγγραφή από τη βάση δεδομένων. Το πρόβλημα μου είναι ότι δεν εμφανίζονται οι εγγραφές γενικά. Με τους 2 πίνακες παίρνει τα δεδομένα της βάσης αλλά λειτουργεί μόνο χωρίς το display:none; της css, που όμως έτσι οι 2 πίνακες εμφανίζονται πάντα Ναι, δοκίμασες αυτό που σου είπα παραπάνω;
Nikolas_Bounas Δημοσ. 26 Αυγούστου 2016 Μέλος Δημοσ. 26 Αυγούστου 2016 Εμενα δειχνει να λειτουργει κανονικα: οταν κανεις κλικ στο μαυρο κουμπι (που εχει το id "p4") τοτε τα tables γινονται hide. http://codepen.io/dominotrix/pen/QEXXAq Είναι άλλο το προβλημα σου, μηπως δε καταλαβα σωστα; Φίλε μου, δεν είναι αυτό το πρόβλημα. Το πρόβλημα είναι ότι σε αυτόν τον πίνακα θέλω να εμφανίζονται τα στοιχεία της βάσης δεδομένων και έτσι όπως είναι ο κώδικας αυτή τη στιγμή, για άγνωστο λόγο εμφανίζεται μόνο η πρώτη εγγραφή του πίνακα της βάσης δεδομένων. Μόνο αν βγάλω το display:none; από τη css εμφανίζονται όλες, όμως δεν εμφανίζεται όποτε θέλω, δηλαδή όταν πατάω το #p4, αλλά πάντα. Ναι και κάνει ακριβώς το ίδιο. Δεν μπορώ να καταλάβω τον λόγο που συμβαίνει αυτό Ναι, δοκίμασες αυτό που σου είπα παραπάνω; Ναι, δοκίμασες αυτό που σου είπα παραπάνω; Ναι και κάνει ακριβώς το ίδιο. Δεν μπορώ να καταλάβω τον λόγο που συμβαίνει αυτό
rafinos Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Μπορείς να μας δείξεις τον κώδικα όλου του αρχείου; Αλλά όχι όπως το έκανες πριν, να το βάλεις σε κώδικα για να καταλαβαίνουμε τι γίνεται.
dominotrix Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Δηλαδη ολα τα tables εχουν id="p4" και παρολο που το css λεει πως #p4{display:none;} κρυβεται μονο ενα table αντι για ολα; Μηπως οταν φορτωνεται η css κρυβει τα tables αλλα εκεινη τη στιγμη υπαρχει μονο ενα table (το πρωτο). Και επειτα οταν γινει το loop, εμφανιζονται και τα υπολοιπα p4 tables αλλα δεν κρυβονται γιατι το css εχει ηδη περαστει. Αρα, δε το ξαναδιαβαζει για να κρυψει και τα υπολοιπα p4 tables.
SlackulatoR Δημοσ. 26 Αυγούστου 2016 Δημοσ. 26 Αυγούστου 2016 Μήπως είναι θέμα structure του κώδικα; Βάλε την jquery τέρμα κάτω. Επίσης η php γιατί είναι στην μέση των tables; Τέλος, βγάλε το display:none από το css και δοκίμασε με jquery: $('#table4').css("display","none"); $('#p4').click(function(){ $('#table4').css("display","block"); }); ή $('#table4').css("visibility","hidden"); $('#p4').click(function(){ $('#table4').css("visibility","visible"); });
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα