• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Prosta tabela za pomocą PHP + MySQL + HTML

–2 głosów
5,730 wizyt
pytanie zadane 29 maja 2017 w PHP przez VendE Użytkownik (980 p.)

Witam
Od kilku godzin próbuję ogarnąć tabelkę w której będą kolumny dla każdego atrybuty i komórki dla każdego rekordu w pętli WHILE. Nie mam pojęcia jak to zrobić za pomocą znaczników HTML (table,tr,td). Mam już całkowity zamęt w głowię i za bardzo nie mogę poradzić sobie z projektem, a deadline się zbliża.
Jakieś pomysły ? Bardzo proszę o pomoc i parę słów co do edycji tego smiley !
 

<html>
<head>
<style>

</style>
</head>
<body>

<?php
include "./1.php";

$tabela = "opiekun";

error_reporting(0);

$link_id = $polaczenie;

if(!$link_id) die(error_message());

mysql_query('set names utf8');

mysql_set_charset('utf8');

$zapytanie0 = "SELECT count(*) FROM $tabela";

$wynik0 = mysql_query($zapytanie0);


$dane_pobrane = mysql_fetch_row($wynik0);

$ilosc_opiekunow = $dane_pobrane[0];

echo "Znaleziono " . $ilosc_opiekunow . " opiekunów. <BR>";

$zapytanie = "SELECT * FROM $tabela";

$wynik = mysql_query($zapytanie);

?>

<?php
while ($wiersz =  mysql_fetch_array($wynik))
{

$id_u = $wiersz["IdOpiekuna"];

$imie = $wiersz["Imię"];

$nazwisko = $wiersz["Nazwisko"];

$wiek = $wiersz["Wiek"];

$staz_pracy = $wiersz["Staż pracy"];

$telefon = $wiersz["Telefon"];



?>



</body>
</html>


 

3
komentarz 29 maja 2017 przez Vento Pasjonat (17,120 p.)
Ile pytań tego typu byśmy uniknęli gdyby ludzie używali:

https://twig.sensiolabs.org/

4 odpowiedzi

+1 głos
odpowiedź 29 maja 2017 przez seba Dyskutant (8,900 p.)
Ja bym dodał zmienną $tabela=""; do której być przypisywał wartości przed pętlą $tabela="<table>"; a potem stopniowo w pętli $tabela="<tr><td>$jakaszmienna</td></tr>" i tak dalej a po pętli dodajesz </table> i gotowe. Przynajmniej ja tak to widze.
+1 głos
odpowiedź 29 maja 2017 przez manjaro Nałogowiec (37,420 p.)
edycja 30 maja 2017 przez manjaro

Uczę się PHP od 3 dni ale u mnie świetnie to działa w ten sposób. Oczywiście połączenie realizuje za pomocą PDO. Mam nadzieję że o to chodziło.

<?php
    include 'connect.php';
     $sql = 'SELECT * FROM jakas_baza ORDER BY id';
     foreach ($db->query($sql) as $row) {
         echo '<tr>';
         echo '<td>'. $row['imie'] . '</td>';
         echo '<td>'. $row['nazwisko'] . '</td>';
         echo '<td>'. $row['wiek'] . '</td>';
         echo '</tr>';
         }
      $db=null;
?>

A tak to wygląda w praktyce u mnie

0 głosów
odpowiedź 29 maja 2017 przez Chess Szeryf (76,730 p.)
edycja 30 maja 2017 przez Chess
<!-- <pre> -->

<?php
 
$link = new mysqli('localhost','root','','zakupy');
 
 
$query = $link->query('select * from zakupy'); 
 
while($result[] = $query->fetch_array(MYSQLI_NUM));
	

//print_r($result);
//W niektórych przypadkach można policzyć ilość elementów w tablicy funkcją count, np.: 
//count($result);
for($i=0;$i<=$query->num_rows;$i++) {
	 
	echo "<table>";
		echo"<tr>";
			echo "<td>{$result[$i][0]}</td><td>{$result[$i][1]}</td><td>{$result[$i][2]}</td>";
		echo"</tr>";
	echo"</table>";
}
 


?>

Nie używa się już Mysql...., tylko Mysqli... lub PDO. Zamiast tylu "echo" możesz po prostu zastosować alternatywą składnię:

echo <<<EOD
   
   <table>
              <tr>
                    <td>{$result[$i][0]}</td>//itd.
              </tr>
   </table>

EOD;

 

komentarz 30 maja 2017 przez efiku Szeryf (75,160 p.)

Sposobu który zaprezentowałeś też się nie używa 

$i<=count($result)-1

Grubo.

0 głosów
odpowiedź 30 maja 2017 przez VendE Użytkownik (980 p.)

Dobra, poradziłem sobie jakoś wczoraj i zrobiłem to w trochę inny sposób. Dziękuję wszystkim za próbę pomocy !!

 

<?php
$polaczenie = include "./1.php";


$zapytanie = "SELECT * FROM `tabela`";
 //wykonujemy zdefiniowane zapytanie na bazie mysql
 $wynik = mysql_query($zapytanie);
 
 //Wyświetlamy w tabeli html dane pobrane 
 //z tabeli newsletter bazy mysql
 //Najpierw definiujemy nagłówek tabeli html
 echo "<h1>text</h1>";
 echo "<p>";
 echo "<table boder=\"1\"><tr>";
 echo "<td><strong>x</strong></td>";
 echo "<td><strong>y</strong></td>";
 echo "<td><strong>z</strong></td>";
 echo "<td><strong>c</strong></td>";
 echo "<td><strong>r</strong></td>";
 echo "<td><strong>g</strong></td>";

 echo "</tr>";
 //Teraz wyświetlamy kolejne wiersze z tabeli newsletter
 //Pola tabeli newsletter pobieramy odwołując się do ich 
 //numerów jak poniżej:
 //   0 (x)
 //   1 (y)
 //   2 (z)
 //   3 (c)
 while ( $row = mysql_fetch_row($wynik) ) {
    echo "</tr>";
    echo "<td>" . $row[0] . "</td>";
    echo "<td>" . $row[1] . "</td>";
    echo "<td>" . $row[2] . "</td>";
	echo "<td>" . $row[3] . "</td>";
	echo "<td>" . $row[4] . "</td>";
	echo "<td>" . $row[5] . "</td>";
  
    echo "</tr>";
 }
 echo "</table>";
 
 
 //Zamykamy połączenie z bazą danych

 
 ?>

 

Podobne pytania

0 głosów
1 odpowiedź 1,980 wizyt
pytanie zadane 20 lipca 2018 w PHP przez dobre.rece Nowicjusz (200 p.)
0 głosów
2 odpowiedzi 972 wizyt
pytanie zadane 20 września 2016 w PHP przez Ditrix Mądrala (5,650 p.)
0 głosów
4 odpowiedzi 584 wizyt
pytanie zadane 20 sierpnia 2015 w PHP przez witam_witam Nowicjusz (160 p.)

93,753 zapytań

142,713 odpowiedzi

323,356 komentarzy

63,347 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...