Afisare date din baza de date in tabel html

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
crissti777
Mesaje: 21

Afisare date din baza de date in tabel html

Salutare!!
Vreau ca datele din baza de date sa fie afisate intr-un tabel de genul asta:

Cod: Selectaţi tot

<table>
     <tr>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
      </tr>
     <tr>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
      </tr>
     <tr>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
      </tr>
     <tr>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
      </tr>
    </table>
Practic in bd am link-uri catre pagini care contin cate o poza, punand link-ul in fecare celula a tabelului mi se afiseaza poza, doar ca punand mai mult de 2 poze tabelul creat este asa:

Cod: Selectaţi tot

	<table>
     <tr>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
	    <td>urlpoza</td>
      </tr>
    </table>
Eu vreau ca tabelul sa aibe doua coloane si sa continue in jos cu n linii pentru ca pagina cu tabelul o afisez la randul ei, printr-un iframe de latimea tabelului, pe o alta pagina:

Cod: Selectaţi tot

<html>
  <head>
    <title></title>
  </head>
  <body>
    <center>
      <iframe width="980" height="770" scrolling="no" frameborder="" name="fereastra"></iframe>
	
      <iframe src="http://localhost/bb/poze%202.html" frameborder="" width="425" height="770" scrolling="AUTO"></iframe>
    </center>
  </body>
</html>
De aici dand click pe pozele din tabel afisez poza intr-un alt iframe, un fel de galerie foto, dar am nevoie ca datele extrase din bd sa le afisez asa cum am zis altfel nu imi iese cum vreau.

Imi poate explica cineva cam ce este de facut?? :( Eu nu am reusit sa gasesc nici o solutie, cunostintele mele in domeniu sunt limitate. :roll:

Multumesc! :D

MarPlo Mesaje: 4343
Salut
Vezi daca iti e de folos acest tutorial: Creare tabel HTML cu date din Array si MySQL.

crissti777 Mesaje: 21
Am vazut pagina respectiva si am studiat toate exemplele de acolo, l-am ales pe ultimul am facut modificarile necesare dar acum am intampinat o alta problema, in casutele aceleasi linii imi afiseaza aceiasi postare, adica imi da din bd de doua ori datele de la un id, scriptul arata asa:

Cod: Selectaţi tot

<?php
// Variabila in care va fi stocat codul pt. tabelul HTML
$tabel_html = '';

// Se face conectarea la MySQL si selectarea bazei de date
     $conn = mysql_connect("localhost","root","") or die(mysql_error());
      mysql_select_db("bd") or die(mysql_error());

// Selectarea randurilor din tabelul MySQL  
$cerereSQL = "SELECT * FROM `linkuri` WHERE `id`>0";
$rezultat = mysql_query($cerereSQL);

// Daca sunt returnate randuri de tabel
if(mysql_num_rows($rezultat) > 0) {
  // Se creaza codul pt. inceputul tabelului HTML
  $tabel_html = '<center><table border="0" cellspacing="3px" cellpadding="3px" bgcolor=" Aquamarine">';

  // Se scrie in bucla WHILE codul HTML pt. adaugarea DOAR a randurilor ce vor fi in tabel
  while($rand = mysql_fetch_array($rezultat)) {
    $tabel_html .=
    '<tr>
       <td>
         <a href="'.$rand['link'].'" target="fereastra"><img src="'.$rand['nume_poza'].'" width="180px" height="150px"></img></a>
       </td>
       <td>
         <a href="'.$rand['link'].'" target="fereastra"><img src="'.$rand['nume_poza'].'" width="180px" height="150px"></img></a>
       </td>
    </tr>';
  }

  // Se adauga (dupa terminarea lui WHILE) inchiderea tabelului HTML
  $tabel_html .= '</table></center>';
}

// Se afiseaza codul tabelului HTML obtinut
echo $tabel_html;
?>
Eu cam stiu de ce afiseaza un post de doua ori, in bucla WHILE sunt doua celule de tabel astfel ele au continut identic, am lasat doar una dar a facut tabelul cu o singura coloana si nu e bine nici asa.

Cu siguranta e ceva ce imi scapa mie si nu imi dau seama....de ieri imi tot bat capul cu el dar degeaba :shock: ce e de facut....un mic indiciu plz...

Am incercat si varianta creieri tabelului cu array, vroiam sa pun datele din bd in array dupa care sa le pun in tabel dar acolo m-am incurcat si mai tare ;)

MarPlo Mesaje: 4343
E mai asimplu fara tabel. Adaugi link-urile cu poza intr-un <div>, iar dupa fiecare doua poze un <br>.
Incearca asa:

Cod: Selectaţi tot

<?php
// Variabila in care va fi stocat codul pt. tabelul HTML
$tabel_html = '';

// Se face conectarea la MySQL si selectarea bazei de date
     $conn = mysql_connect("localhost","root","") or die(mysql_error());
      mysql_select_db("bd") or die(mysql_error());

// Selectarea randurilor din tabelul MySQL  
$cerereSQL = "SELECT * FROM `linkuri` WHERE `id`>0";
$rezultat = mysql_query($cerereSQL);

// Daca sunt returnate randuri de tabel
if(mysql_num_rows($rezultat) > 0) {
  // Se creaza codul pt. inceputul tabelului HTML
  $tabel_html = '<div id="pozebd">';
  $p = 0;

  // Se scrie in bucla WHILE codul HTML pt. adaugarea DOAR a randurilor ce vor fi in tabel
  while($rand = mysql_fetch_array($rezultat)) {
    p++;
    $tabel_html .= '<a href="'.$rand['link'].'" target="fereastra"><img src="'.$rand['nume_poza'].'" width="180px" height="150px"></img></a>';
    if((p % 2) == 0) $tabel_html .= '<br/>';
  }

  // Se adauga (dupa terminarea lui WHILE) inchiderea tabelului HTML
  $tabel_html .= '</div>';
}

// Se afiseaza codul tabelului HTML obtinut
echo $tabel_html;
?>
- Iar in CSS se face design-ul penru Div-ul cu ID ''pozebd" si elementele din el.

Cod: Selectaţi tot

#pozebd {
  position: relative;
  margin: 8px auto;
  background: Aquamarine;
  text-align: center;
}
#pozebd a{
  margin: 0 8px;
}
- Plus ce prorietati css de design mai trebuie.

Subiecte similare