Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα, έχω τον παρακάτω κώδικα 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;
}

 

Δημοσ.

Για αρχή πρέπει να βάλεις τον κώδικα ανάμεσα σε 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".

Δημοσ.

Εμενα δειχνει να λειτουργει κανονικα: οταν κανεις κλικ στο μαυρο κουμπι (που εχει το id "p4") τοτε τα tables γινονται hide.

 

http://codepen.io/dominotrix/pen/QEXXAq

 

Είναι άλλο το προβλημα σου, μηπως δε καταλαβα σωστα;

Βασικά το ανάποδο (unhide). 

 

Επίσης κάτι άσχετο @Nikolas_Bounas γιατί δεν εμφανίζεις τα δεδομένα που θέλεις στον πρώτο πίνακα και προσθέτεις έναν τελείως καινούριο με διαφορετικά width;

Δημοσ.

Βασικά το ανάποδο (unhide). 

 

Επίσης κάτι άσχετο @Nikolas_Bounas γιατί δεν εμφανίζεις τα δεδομένα που θέλεις στον πρώτο πίνακα και προσθέτεις έναν τελείως καινούριο με διαφορετικά width;

Σε έναν πίνακα το είχα στην αρχή αλλά δεν μου εμφανιζόταν καμία εγγραφή από τη βάση δεδομένων. Το πρόβλημα μου είναι ότι δεν εμφανίζονται οι εγγραφές γενικά. Με τους 2 πίνακες παίρνει τα δεδομένα της βάσης αλλά λειτουργεί μόνο χωρίς το display:none; της css, που όμως έτσι οι 2 πίνακες εμφανίζονται πάντα

Δημοσ.

Σε έναν πίνακα το είχα στην αρχή αλλά δεν μου εμφανιζόταν καμία εγγραφή από τη βάση δεδομένων. Το πρόβλημα μου είναι ότι δεν εμφανίζονται οι εγγραφές γενικά. Με τους 2 πίνακες παίρνει τα δεδομένα της βάσης αλλά λειτουργεί μόνο χωρίς το display:none; της css, που όμως έτσι οι 2 πίνακες εμφανίζονται πάντα

Ναι, δοκίμασες αυτό που σου είπα παραπάνω;

Δημοσ.

Εμενα δειχνει να λειτουργει κανονικα: οταν κανεις κλικ στο μαυρο κουμπι (που εχει το id "p4") τοτε τα tables γινονται hide.

 

http://codepen.io/dominotrix/pen/QEXXAq

 

Είναι άλλο το προβλημα σου, μηπως δε καταλαβα σωστα;

Φίλε μου, δεν είναι αυτό το πρόβλημα. Το πρόβλημα είναι ότι σε αυτόν τον πίνακα θέλω να εμφανίζονται τα στοιχεία της βάσης δεδομένων και έτσι όπως είναι ο κώδικας αυτή τη στιγμή, για άγνωστο λόγο εμφανίζεται μόνο η πρώτη εγγραφή του πίνακα της βάσης δεδομένων. Μόνο αν βγάλω το display:none; από τη css εμφανίζονται όλες, όμως δεν εμφανίζεται όποτε θέλω, δηλαδή όταν πατάω το #p4, αλλά πάντα.

Ναι και κάνει ακριβώς το ίδιο. Δεν μπορώ να καταλάβω τον λόγο που συμβαίνει αυτό

 

Ναι, δοκίμασες αυτό που σου είπα παραπάνω;

Ναι, δοκίμασες αυτό που σου είπα παραπάνω;

Ναι και κάνει ακριβώς το ίδιο. Δεν μπορώ να καταλάβω τον λόγο που συμβαίνει αυτό

Δημοσ.

Μπορείς να μας δείξεις τον κώδικα όλου του αρχείου; 

 

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

Δημοσ.

Δηλαδη ολα τα tables εχουν id="p4" και παρολο που το css λεει πως #p4{display:none;} κρυβεται μονο ενα table αντι για ολα;

 

Μηπως οταν φορτωνεται η css κρυβει τα tables αλλα εκεινη τη στιγμη υπαρχει μονο ενα table (το πρωτο). Και επειτα οταν γινει το loop, εμφανιζονται και τα υπολοιπα p4 tables αλλα δεν κρυβονται γιατι το css εχει ηδη περαστει. Αρα, δε το ξαναδιαβαζει για να κρυψει και τα υπολοιπα p4 tables.

Δημοσ.

Μήπως είναι θέμα 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");
});

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...