Multiplicare randuri in tabel html din select mysql
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
sterica
- Mesaje: 285
Multiplicare randuri in tabel html din select mysql
Salutare,
Am urmatoare variabila:
Cod: Selectaţi tot
$tbl_chest = "<table class='table table-bordered table-striped'><thead><tr><th>NUME</th>";
si urmatoarele selecturi
Cod: Selectaţi tot
$sql_intrebari = "SELECT ...";
$result_intrebari = $conn->query($sql_intrebari);
if ($result_intrebari->num_rows > 0) {
while($row = $result_intrebari->fetch_assoc()) {
$tbl_chest .= '<th>' . $row['INTREBARE'] . '</th>';
}
}
$tbl_chest .= '</tr></thead><tbody>';
$sql_personal = "SELECT ....";
$result_personal = $conn_lmd->query($sql_personal);
if ($result_personal->num_rows > 0) {
while($row = $result_personal->fetch_assoc()) {
$tbl_chest = '<tr><td>' . $row['NUME'] . ' ' . $row['PRENUME'] . '</td><td>he he</td>';
}
}
$tbl_chest .= '</tbody></table>';
echo $tbl_chest;
In forma aceasta $tbl_chest din interiorul al doilea while imi gnereaza foarte multe linii de tabel (le multipla de cateva ori bune). Ce imi cauzeaza multiplicarea aceasta
Multumesc!
MarPlo
Mesaje: 4343
Salut
In codul pt adaugare randuri in tabelul html din al doilea while() lipseste tag-ul de inchidere rand (</tr>). In rest, multiplicarea poate fi de la Select-ul in mysql, daca asa e rezultatul returnat de select.
misat
Mesaje: 22
Secventa de cod pe care ai publicat-o, afisa doar o frintura de tabel (deoarece in "al doilea while" de fiecare data variabilei $tbl_chest i se atribuie o valoare noua):
Cod: Selectaţi tot
<tr><td>Nume</td><td>he he</td></tr></thead><tbody>
Totusi daca ar exista concatenarea, tabelul care se obtine va fi "incorect". Pe prima linie se genereaza mai multe celule (in thead se genereaza mai multe th), iar pe urmatoarele linii ai doar o singura celula (corect ar fi sa indici atributul colspan).
Chear daca tabelul ar fi corect nu observ vreo problema care ar provoca generarea liniilor de citeva ori.
sterica
Mesaje: 285
revin cu ajustarile mentionate mai sus:
Cod: Selectaţi tot
$tbl_chest = "<table class='table table-bordered table-striped'><thead><tr><th>NUME</th>";
din sql, SELECT cu primul while, imi sunt generate 7 randuri
Cod: Selectaţi tot
while($row = $result_intrebari->fetch_assoc()) {
$tbl_chest .= '<th>' . $row['INTREBARE'] . '</th>';
}
al doilea while (aici daca inlocuiesc variabila cu echo, imi sunt generate corect liniile din sql)
Cod: Selectaţi tot
while($row = $result_personal->fetch_assoc()) {
$tbl_chest .= '<tr><td>' . $row['NUME'] . ' ' . $row['PRENUME'] . '</td><td>1</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td><td>7</td></tr>';
}
Cod: Selectaţi tot
$tbl_chest .= '</tbody></table>';
echo $tbl_chest;
Cand se executa codul in al doilea while valorile sunt multiplicate de 8 ori.
Multumesc!
misat
Mesaje: 22
Nu exista un motiv din care s-ar multiplica liniile care se genereaza in tabel.
Codul de mai jos genereaza un tabel corect:
Cod: Selectaţi tot
$tbl_chest = "<table class='table table-bordered table-striped'><thead><tr><th>NUME</th>";
$result = [
['INTREBARE'=>'i1'],
['INTREBARE'=>'i2'],
['INTREBARE'=>'i3'],
['INTREBARE'=>'i4'],
['INTREBARE'=>'i5'],
['INTREBARE'=>'i6'],
['INTREBARE'=>'i7'],
];
$i_count = count($result);
foreach ($result as $row) {
$tbl_chest .= '<th>' . $row['INTREBARE'] . '</th>';
}
$result = [
['NUME' => 'Popescu', 'PRENUME' => 'Ion'],
['NUME' => 'Popescu', 'PRENUME' => 'Ion'],
['NUME' => 'Popescu', 'PRENUME' => 'Ion'],
['NUME' => 'Popescu', 'PRENUME' => 'Ion'],
['NUME' => 'Popescu', 'PRENUME' => 'Ion'],
];
$_td = '';
for ($i = 0; $i < $i_count; ++$i) {
$_td .= '<td>'.($i+1).'</td>';
}
foreach ($result as $row) {
$tbl_chest .= '<tr><td>' . $row['NUME'] . ' ' . $row['PRENUME'] . '</td>' . $_td . '</tr>';
}
$tbl_chest .= '</tbody></table>';
echo $tbl_chest;
Unicul lucru care poate provoca multiplicarea unei linii de citeva ori este datele din db. Esti sigur ca in db nu ai un nume repetat de mai multe ori?
Sigur nu se mai executa alt cod pentru generarea tabelului?
sterica
Mesaje: 285
@misat, intredevar ai avut dreptate tbody era multiplicat din cauza unui script pe care il aveam in fisier.
Cod: Selectaţi tot
<script>
// adding filler rows
for(var i = 0; i < 3; i++){
$('tbody tr').clone().appendTo('table');
}
var offset = $('.navbar').height();
$("html:not(.legacy) table").stickyTableHeaders({fixedOffset: offset});
</script>
Multumesc de ajutor!
Subiecte similare
-
Tabel cu calorii pește şi variate
Discutii si Intrebari Diverse
Primul mesaj
<table border='1' style='background:#fefefe; text-align:center; margin:2px auto; font-size:18px' cellspacing='2' cellpadding='2'><caption...
Ultimul mesaj
<table border='1' style='background:#fefefe;text-align:center; margin:2px auto; font-size:18px' cellspacing='2' cellpadding='2'><caption...
-
Valoarea id-ului din HTML atribuită unei variabile php
PHP - MySQL - XML
Primul mesaj
Încerc să extrag valorile id= min5 , id= max5 si să le pun în $_GET $_GET fara trimitere în altă pagină
cum aș putea proceda?
<div class=...
Ultimul mesaj
Nu prea inteleg ce vrei sa faci.
Codul php se executa pe server inainte de a fi pagina cu codul html si javascript.
In php, valorile pentru...
-
Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...
-
Select dupa mai multe coloane in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
am si eu o baza de date zona_geografica in care am rubricile
id |nume_tara |nume_oras |id_tara |id_oras | nume_zona | id_zona | data
1 |...
Ultimul mesaj
Multumesc mult pentru ajutor .
-
mysql Update dupa nume
PHP - MySQL - XML
Primul mesaj
Salutari,
Incerc de ceva timp sa fac sa imi salveze informatiile jucatorului in baza de date, o data inserate vreau atunci cand gaseste din nou...
Ultimul mesaj
Cand se creaza tabelul in baza de date, coloana nickname trebuie sa fie de tip UNIQUE KEY .
Iar id-ul ar trebui sa fie o valoare care sa nu o mai...