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

php - pusta część tabeli

VPS Starter Arubacloud
0 głosów
121 wizyt
pytanie zadane 15 czerwca 2020 w PHP przez gorgonkowa Obywatel (1,810 p.)

Hejka. Chciałabym Was zapytać, gdzie mogłam zrobić błąd w kodzie php, że nie wyświetla się tylko imię i nazwisko? Pozostałe pola wyświetlają się prawidłowo. Błędy na ekranie nie wyskakują, jedynie pola nie są wypełnione. Dla zobrazowania, przesyłam obraz z tym, co się pokazuje oraz kod do tej części:

wypozyczanie.php:

<!DOCTYPE HTML>
<?php
	$baza = simplexml_load_file(__DIR__ . '/Biblioteka.xml');
?>
<html lang="pl">
<head>
	<meta charset="utf-8"/>
	<title>Wypozyczanie XML</title>
	<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
	<section class="nav1">
			<ol id="Pierwsza">
				<li><a href="index.php">Start</a></li>
				<li><a href="Biblioteka.xml">Baza danych</a></li>
				<li><a href="czytelnik.php">Czytelnik</a>
				<li><a href="biblioteka.php">Jaka książka?</a>
				<li><a href="wypozyczanie.php">Wypożyczalnia</a></li>
			</ol>
	</section>	
	<div id="wyglad">
	
<?php
	if($_SERVER['REQUEST_METHOD']=='GET')
	{
		echo "<h1>Wypożyczenia <br /></h1>";
			echo "<form action='' method='POST'>";
				echo "Czytelnik: <select name='czytelnik'>";
						echo "<option value='Czytelnik'>";
						echo '</option>';
					foreach($baza->czytelnicy->czytelnik as $czytelnik)
					{
						echo '<option value="';
						echo $czytelnik['id']; 
						echo '">';
						echo $czytelnik->pesel; 
						echo '</option>';
					};
				echo "</select><br />";
	
				echo "Książka: <select name='ksiazka'>";
						echo "<option value='Książka'>";
						echo '</option>';
					foreach($baza->ksiazki->ksiazka as $ksiazka)
					{
						echo '<option value="';
						echo $ksiazka['id']; 
						echo '">';
						echo $ksiazka->tytul." ".$ksiazka->rok_wydania; 
						echo '</option>';
					};
				echo "</select>";
			echo "<br /><input type='submit' value='Wybierz' />";
		echo "</form>";
	}
	else
	{
		echo "<table>";
		echo "<tr>";
        echo "<td>ID wypozyczenia</td>";
        echo "<td>ID czytelnika</td>";
        echo "<td>ID książki</td>";
		echo "<td>Imię</td>";
		echo "<td>Nazwisko</td>";
		echo "<td>Data wypożyczenia</td>";
		echo "<td>Data oddania</td>";
        echo "</tr>";
		
		foreach ($baza->wypozyczenia->wyp as $wypozyczenie):
			if($_POST['czytelnik']=='Czytelnik' && $_POST['ksiazka']=='Książka')
			{
				echo "<tr>";
				echo "<td>".$wypozyczenie['id']."</td>";
				echo "<td>".$wypozyczenie['czytelnik']."</td>";
				echo "<td>".$wypozyczenie['ksiazka']."</td>";
				echo "<td>".$wypozyczenie->imie."</td>";
				echo "<td>".$wypozyczenie->nazwisko."</td>";
				echo "<td>".$wypozyczenie->data_wyp."</td>";
				echo "<td>".$wypozyczenie->data_oddania."</td>";
				echo "</tr>";
			}
			else if($wypozyczenie['czytelnik']==$_POST['czytelnik'] && $wypozyczenie['ksiazka']==$_POST['ksiazka'])
			{
				echo "<tr>";
				echo "<td>".$wypozyczenie['id']."</td>";
				echo "<td>".$wypozyczenie['czytelnik']."</td>";
				echo "<td>".$wypozyczenie['ksiazka']."</td>";
				echo "<td>".$wypozyczenie->imie."</td>";
				echo "<td>".$wypozyczenie->nazwisko."</td>";
				echo "<td>".$wypozyczenie->data_wyp."</td>";
				echo "<td>".$wypozyczenie->data_oddania."</td>";
				echo "</tr>";
			}
			else if($wypozyczenie['czytelnik']==$_POST['czytelnik'] && $_POST['ksiazka']=='Książka')
			{
				echo "<tr>";
				echo "<td>".$wypozyczenie['id']."</td>";
				echo "<td>".$wypozyczenie['czytelnik']."</td>";
				echo "<td>".$wypozyczenie['ksiazka']."</td>";
				echo "<td>".$wypozyczenie->imie."</td>";
				echo "<td>".$wypozyczenie->nazwisko."</td>";
				echo "<td>".$wypozyczenie->data_wyp."</td>";
				echo "<td>".$wypozyczenie->data_oddania."</td>";
				echo "</tr>";
			}
			else if($wypozyczenie['ksiazka']==$_POST['ksiazka'] && $_POST['czytelnik']=='Czytelnik')
			{
				echo "<tr>";
				echo "<td>".$wypozyczenie['id']."</td>";
				echo "<td>".$wypozyczenie['czytelnik']."</td>";
				echo "<td>".$wypozyczenie['ksiazka']."</td>";
				echo "<td>".$wypozyczenie->imie."</td>";
				echo "<td>".$wypozyczenie->nazwisko."</td>";
				echo "<td>".$wypozyczenie->data_wyp."</td>";
				echo "<td>".$wypozyczenie->data_oddania."</td>";
				echo "</tr>";
			}
			
		endforeach;
		
		echo "</table>";
	}
?>
	</div>
</body>
</html>
	

czytelnik.php:
 

<!DOCTYPE HTML>
<?php
	$baza = simplexml_load_file(__DIR__ . '/Biblioteka.xml');
?>
<html lang="pl">
<head>
	<meta charset="utf-8"/>
	<title>Czytelnik</title>
	<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
	<section class="nav1">
			<ol id="Pierwsza">
				<li><a href="index.php">Start</a></li>
				<li><a href="Biblioteka.xml">Baza danych</a></li>
				<li><a href="czytelnik.php">Czytelnik</a>
				<li><a href="biblioteka.php">Jaka książka?</a>
				<li><a href="wypozyczanie.php">Wypożyczalnia</a></li>
			</ol>
	</section>	
	<div id="wyglad">
		<h1>Czytelnik</h1>
		<table>
        <tr>
            <th>ID</th>
            <th>Imię</th>
            <th>Nazwisko</th>
            <th>PESEL</th>
        </tr>
        <tbody>
		
<?php 
			foreach ($baza->czytelnicy->czytelnik as $czyt): 
            echo "<tr>";
            echo "<td>".$czyt['id']."</td>";
            echo "<td>".$czyt->imie."</td>";
            echo "<td>".$czyt->nazwisko."</td>";
            echo "<td>".$czyt->pesel."</td>";
            echo "</tr>";
			endforeach; 
?>
        </tbody>
    </table>
	</div>
</body>
</html>
	

biblioteka.php:
 

<!DOCTYPE HTML>
<?php
	$baza = simplexml_load_file(__DIR__ . '/Biblioteka.xml');
?>
<html lang="pl">
<head>
	<meta charset="utf-8"/>
	<title>Czytelnik</title>
	<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
	<section class="nav1">
			<ol id="Pierwsza">
				<li><a href="index.php">Start</a></li>
				<li><a href="Biblioteka.xml">Baza danych</a></li>
				<li><a href="czytelnik.php">Czytelnik</a>
				<li><a href="biblioteka.php">Jaka książka?</a>
				<li><a href="wypozyczanie.php">Wypożyczalnia</a></li>
			</ol>
	</section>	
	<div id="wyglad">
		<h1>Czytelnik</h1>
		<table>
        <tr>
            <th>ID</th>
            <th>Imię</th>
            <th>Nazwisko</th>
            <th>PESEL</th>
        </tr>
        <tbody>
		
<?php 
			foreach ($baza->czytelnicy->czytelnik as $czyt): 
            echo "<tr>";
            echo "<td>".$czyt['id']."</td>";
            echo "<td>".$czyt->imie."</td>";
            echo "<td>".$czyt->nazwisko."</td>";
            echo "<td>".$czyt->pesel."</td>";
            echo "</tr>";
			endforeach; 
?>
        </tbody>
    </table>
	</div>
</body>
</html>
	

Biblioteka.xml
 

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="arkusz.xsl"?>

<!DOCTYPE Biblioteka [
	<!ELEMENT Biblioteka (czytelnicy, ksiazki, wypozyczenia)>
	
	<!ELEMENT czytelnicy (czytelnik+)>
    <!ELEMENT czytelnik (imie, nazwisko, pesel)>
    <!ATTLIST czytelnik id ID #REQUIRED>
    <!ELEMENT imie (#PCDATA)>
    <!ELEMENT nazwisko (#PCDATA)>
	<!ELEMENT pesel (#PCDATA)>
	
	<!ELEMENT ksiazki (ksiazka+)>
	<!ELEMENT ksiazka (tytul, rok_wydania)>
    <!ATTLIST ksiazka id ID #REQUIRED>
    <!ELEMENT tytul (#PCDATA)>
    <!ELEMENT rok_wydania (#PCDATA)>
    
    <!ELEMENT wypozyczenia (wyp+)>
	<!ELEMENT wyp (data_wyp, data_oddania)>
    <!ATTLIST wyp id ID #REQUIRED>
    <!ATTLIST wyp czytelnik IDREF #REQUIRED>
    <!ATTLIST wyp ksiazka IDREF #REQUIRED>
    <!ELEMENT data_wyp (#PCDATA)>
    <!ELEMENT data_oddania (#PCDATA)>
    ]>
		
		
<baza>
    <czytelnicy>
        <czytelnik id="c1">
            <imie>Zbigniew</imie>
            <nazwisko>Kowalski</nazwisko>
			<pesel>73053153731</pesel>
        </czytelnik>
		
        <czytelnik id="c2">
            <imie>Jarosław</imie>
            <nazwisko>Bugajski</nazwisko>
			<pesel>74121946578</pesel>
        </czytelnik>
		
        <czytelnik id="c3">
            <imie>Michał</imie>
            <nazwisko>Berkowicz</nazwisko>
			<pesel>98051215642</pesel>
        </czytelnik>
		
        <czytelnik id="c4">
            <imie>Kamil</imie>
            <nazwisko>Małecki</nazwisko>
			<pesel>00280351245</pesel>
        </czytelnik>

		<czytelnik id="c5">
            <imie>Krystyna</imie>
            <nazwisko>Kwapisz</nazwisko>
			<pesel>56120105484</pesel>
        </czytelnik>

		<czytelnik id="c6">
            <imie>Jadwiga</imie>
            <nazwisko>Janowska</nazwisko>
			<pesel>10080654323</pesel>
        </czytelnik>

		<czytelnik id="c7">
            <imie>Krystian</imie>
            <nazwisko>Kotuliński</nazwisko>
			<pesel>94040548421</pesel>
        </czytelnik>

		<czytelnik id="c8">
            <imie>Anna</imie>
            <nazwisko>Farys</nazwisko>
			<pesel>69110852845</pesel>
        </czytelnik>
    </czytelnicy>
	
    <ksiazki>
        <ksiazka id="k1">
            <tytul>Krzyżacy</tytul>
            <rok_wydania>1948</rok_wydania>
        </ksiazka>

        <ksiazka id="k2">
            <tytul>Ogniem i mieczem</tytul>
            <rok_wydania>1982</rok_wydania>
        </ksiazka>

        <ksiazka id="k3">
            <tytul>Lalka</tytul>
            <rok_wydania>1978</rok_wydania>
        </ksiazka>

        <ksiazka id="k4">
            <tytul>Medaliony</tytul>
            <rok_wydania>1956</rok_wydania>
        </ksiazka>

		<ksiazka id="k5">
            <tytul>Lalka</tytul>
            <rok_wydania>1964</rok_wydania>
        </ksiazka>

		<ksiazka id="k6">
            <tytul>Mały Książę</tytul>
            <rok_wydania>1972</rok_wydania>
        </ksiazka>

		<ksiazka id="k7">
            <tytul>Zemsta</tytul>
            <rok_wydania>1969</rok_wydania>
        </ksiazka>

		<ksiazka id="k8">
            <tytul>Księga dżungli</tytul>
            <rok_wydania>2002</rok_wydania>
        </ksiazka>
    </ksiazki>
	
    <wypozyczenia>
        <wyp id="w1" czytelnik="c1" ksiazka="k4">
            <data_wyp>2011-08-20</data_wyp>
            <data_oddania>2011-11-12</data_oddania>
        </wyp>
		
        <wyp id="w2" czytelnik="c2" ksiazka="k2">
            <data_wyp>2012-04-01</data_wyp>
            <data_oddania>2012-04-10</data_oddania>
        </wyp>
		
        <wyp id="w3" czytelnik="c3" ksiazka="k3">
            <data_wyp>2011-09-05</data_wyp>
            <data_oddania>2012-08-29</data_oddania>
        </wyp>
		
        <wyp id="w4" czytelnik="c4" ksiazka="k3">
            <data_wyp>2006-07-18</data_wyp>
            <data_oddania>2007-08-10</data_oddania>
        </wyp>
		
        <wyp id="w5" czytelnik="c1" ksiazka="k2">
            <data_wyp>2018-03-02</data_wyp>
            <data_oddania>2019-02-23</data_oddania>
        </wyp>
		
	<wyp id="w6" czytelnik="c1" ksiazka="k8">
            <data_wyp>2019-06-31</data_wyp>
            <data_oddania>2020-04-15</data_oddania>
        </wyp>
		
	<wyp id="w7" czytelnik="c6" ksiazka="k2">
            <data_wyp>2020-01-14</data_wyp>
            <data_oddania>2020-02-05</data_oddania>
        </wyp>
		
	<wyp id="w8" czytelnik="c7" ksiazka="k4">
            <data_wyp>2020-05-12</data_wyp>
            <data_oddania>2020-02-08</data_oddania>
        </wyp>
		
	<wyp id="w9" czytelnik="c5" ksiazka="k4">
            <data_wyp>2012-02-22</data_wyp>
            <data_oddania>2015-06-19</data_oddania>
        </wyp>
		
	<wyp id="w10" czytelnik="c5" ksiazka="k7">
            <data_wyp>2012-02-22</data_wyp>
            <data_oddania>2014-07-27</data_oddania>
        </wyp>
    </wypozyczenia>
</baza>

Próbowałam również zmienić w wypozyczenie.php pola z imieniem i nazwiskiem na takie kwadratowe ['imie']., ['nazwisko']., ale nic się nie zmienia :/ Co tutaj jest nie tak? Byłabym mega wdzięczna za pomoc!

1 odpowiedź

0 głosów
odpowiedź 15 czerwca 2020 przez Landu Stary wyjadacz (11,880 p.)

wrzuć do kodu po tabeli:

echo var_dump($wypozyczenie);

i zobacz czy w tablicy są klucze imię i nazwisko.

komentarz 15 czerwca 2020 przez gorgonkowa Obywatel (1,810 p.)

Wrzuciłam po tabeli w tym miejscu:
 

else if($wypozyczenie['ksiazka']==$_POST['ksiazka'] && $_POST['czytelnik']=='Czytelnik')
			{
				echo "<tr>";
				echo "<td>".$wypozyczenie['id']."</td>";
				echo "<td>".$wypozyczenie['czytelnik']."</td>";
				echo "<td>".$wypozyczenie['ksiazka']."</td>";
				echo "<td>".$wypozyczenie->imie."</td>";
				echo "<td>".$wypozyczenie->nazwisko."</td>";
				echo "<td>".$wypozyczenie->data_wyp."</td>";
				echo "<td>".$wypozyczenie->data_oddania."</td>";
				echo "</tr>";
			}
			echo var_dump($wypozyczenie);

 

I... coś takiego wyskoczyło :P

komentarz 15 czerwca 2020 przez Landu Stary wyjadacz (11,880 p.)
Z tego wynika, że nie ma tam wartości imię oraz nazwisko, dlatego się nie wyświetlają.

Podobne pytania

0 głosów
2 odpowiedzi 142 wizyt
0 głosów
0 odpowiedzi 272 wizyt
0 głosów
0 odpowiedzi 400 wizyt
pytanie zadane 18 kwietnia 2022 w PHP przez xVarmondx Początkujący (350 p.)

93,018 zapytań

141,984 odpowiedzi

321,282 komentarzy

62,364 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...