Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]pierwsze kroki
Forum PHP.pl > Forum > Przedszkole
witek000
Cześć,
to jest mój pierwszy post na tym forum wstydnis.gif proszę o wyrozumiałość, zoapatrzylem się niedawno w książkę "PHP i MySQL Tworzenie stron WWW" jak zaranie udało mi się dojść do rozdziału 3 winksmiley.jpg mam kilka pytań odnośnie kodu zawartego w książce.
Kod
<script language="php">
//tworzenie krotkich nazw zmiennych
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
</script>

<html>
<head>
<title>Czesci samochodowe Janka</title>
</head>
<body>
<h1>Czesci samochodowe Janka</h1>
<h2>Zamowienia Klientow</h2>
<script language="php">
//otwieranie calego pliku
//kazde zmowienie staje sie elementem tablicy
$zamowienia=file("DOCUMENT_ROOT zamowienia.txt");

//obliczanie ilosci elementow tablicy
$ilosc_zamowien=count($ilosc_zamowien);
if($ilosc_zamowien==0)
{
    echo '<p><strong>Brak zamowien</strong><p>';
    exit;
}
echo "<table border='1'>\n";
echo'<tr><th bgcolor="#CCCFF">Data zamowienia</tr>
         <th bgcolor="#CCCFF">Opony</td>
         <th bgcolor="#CCCFF">Olej</td>
         <th bgcolor="#CCCFF">Swiece</td>
         <th bgcolor="#CCCFF">Suma</td>
         <th bgcolor="#CCCFF">Adres</td>
</tr>';

for($i=0;$i<$ilosc_zamowien;$i++)
{
    //rozbicie kazdej linii
    $linia=explode("\t",$zamowienia[$i]);
    //zapamietywanie wylacznie ilosci zamowionych produktow
    $linia[1]=intval($linia[1]);
    $linia[2]=intval($linia[2]);
    $linia[3]=intval($linia[3]);
    
    //wyswietlanie kazdego zamowienia
    echo "<tr><td>$lini[0]</td>
              <td align='right'>$linia[1]</td>
              <td align='right'>$linia[2]</td>
              <td align='right'>$linia[3]</td>
              <td align='right'>$linia[4]</td>
              <td>$linia[5]</td>
        </tr>";
}
echo '</table>';

</script>
</body>
</html>

cały czas wyświetla mi brak zamówień, plik zamowienia.txt mam w tym samym katalogu co program. sciana.gif nie mogę znaleźć błędu ;(
wookieb
Kod
$zamowienia=file($_SERVER['DOCUMENT_ROOT]."zamowienia.txt");

albo to
Kod
$zamowienia=file($_SERVER['DOCUMENT_ROOT]."/zamowienia.txt");

nie pamietam czy DOCUMENT_ROOT ma na koncu /

A potem jeszcze
Kod
$ilosc_zamowien=count($zamowienia);

Albo źle przepisałeś albo ksiazka ma takie bledy.
witek000

ok, dzięki teraz działa już prawie wszystko, tylko jakoś dziwnie rozbija mi te "zamówienia" w tabeli sciana.gif
wookieb
To teraz ci nie odpowiem tylko sprawdz jak przepisales WSZYSTKIE nazwy zmiennych bo masz literowke.
A co do kolumny adres to zapodaj zawartosc swojego pliku. W twoim txt kolumny oddzielasz tabulatorem.
witek000
plik .txt
Kod
1 opon     2 butelek oleju      swiec zaplonowych     146.4PLN     Krakow ul. Krotka 24
3 opon     2 butelek oleju      swiec zaplonowych     390.4PLN     Kolobrzeg ul.Morska 23



Kod
    echo "<tr><td>$linia[0]</td>

tu brakowało jednego znaku, ale nadal nie działa jak powinno worriedsmiley.gif
erix
Cytat
pierwsze kroki

Pierwszym krokiem powinno być użycie prawidłowego bbcode.

  1. <?php
  2. echo "<tr><td>$lini[0]</td>
  3.              <td align='right'>$linia[1]</td>
  4.              <td align='right'>$linia[2]</td>
  5.              <td align='right'>$linia[3]</td>
  6.              <td align='right'>$linia[4]</td>
  7.              <td>$linia[5]</td>
  8.        </tr>";
  9. ?>

Sprawdź literówki. winksmiley.jpg

edit: daj var_dump" title="Zobacz w manualu PHP" target="_manual($linia)
lwc
On w swoim poście stwierdził, że poprawił tą literówkę, ale to nic nie dało.
Cytat
tu brakowało jednego znaku, ale nadal nie działa jak powinno
witek000
CODE
<script language="php">
//tworzenie krotkich nazw zmiennych
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
</script>

<html>
<head>
<title>Czesci samochodowe Janka</title>
</head>
<body>
<h1>Czesci samochodowe Janka</h1>
<h2>Zamowienia Klientow</h2>
<script language="php">
//otwieranie calego pliku
//kazde zmowienie staje sie elementem tablicy
$zamowienia=file($_SERVER['DOCUMENT_ROOT']."1.txt");

//obliczanie ilosci elementow tablicy
$ilosc_zamowien=count($zamowienia);
if($ilosc_zamowien==0)
{
echo '<p><strong>Brak zamowien</strong><p>';
exit;
}
echo "<table border='1'>\n";
echo'<tr><th bgcolor="#CCCFF">Data zamowienia</tr>
<th bgcolor="#CCCFF">Opony</td>
<th bgcolor="#CCCFF">Olej</td>
<th bgcolor="#CCCFF">Swiece</td>
<th bgcolor="#CCCFF">Suma</td>
<th bgcolor="#CCCFF">Adres</td>
</tr>';

for($i=0;$i<$ilosc_zamowien;$i++)
{
//rozbicie kazdej linii
$linia=explode("\t",$zamowienia[$i]);
//zapamietywanie wylacznie ilosci zamowionych produktow
$linia[1]=intval($linia[1]);
$linia[2]=intval($linia[2]);
$linia[3]=intval($linia[3]);
//wyswietlanie kazdego zamowienia
echo "<tr><td>void var_dump($linia[0])</td>
<td align='right'>void var_dump($linia[1])</td>
<td align='right'>void var_dump($linia[2])</td>
<td align='right'>void var_dump($linia[3])</td>
<td align='right'>void var_dump($linia[4])</td>
<td>void var_dump($linia[5])</td>
</tr>";
}
echo '</table>';
</script>
</body>
</html>



chyba źle używam tej funkcji, może ktoś mi to trochę "rozjaśnić" wstydnis.gif
blooregard
Cytat
chyba źle używam tej funkcji,

Tak, nieco.

Cytat
może ktoś mi to trochę "rozjaśnić"


Proszę bardzo:
Kod
void var_dump()


To jest podręcznikowa definicja f-cji var_dump(). Void przed nazwą f-cji oznacza typ zwracanej wartości. Stosując f-cje w skryptach podajesz jedynie nazwę funkcji i ewentualnie w nawiasie parametry, jeśli są wymagane.
Osadzając kod php w html, musisz zawrzeć go w parze znaczników otwierający/zamykający. Inaczej serwer www zinterpretuje to jako normaly tekst do wyświetlenia w przeglądarce.
Poza tym do wyświetlenia wartości jednej zmiennej nie potrzeba używać var_dump(), z powodzeniem wystarczy zwykłe echo()
Prawidłowo ta linijka powinna wyglądać tak:
Kod
<td align='right'><?php echo ( $linia[1] ); ?> </td>


PS. Ucz się, pytaj, popełniaj błędy i znów pytaj. A będzie dobrze. smile.gif
witek000
hmm po wstawieniu
Cytat
<td align='right'><?php echo ( $linia[1] ); ?> </td>
wyświetla mi same błędy, w php można w tworzyć konstrukcje typu :
<?
[kod]
<?
[kod]
?>?>
nie bardzo to kumam, sadsmiley02.gif i cały czas nie wyświetla odpowiednich danych w tabeli wstydnis.gif
CODE
<script language="php">
//tworzenie krotkich nazw zmiennych
$DOCUMENT_ROOT=$_SERVER['DOCUMENT_ROOT'];
</script>

<html>
<head>
<title>Czesci samochodowe Janka</title>
</head>
<body>
<h1>Czesci samochodowe Janka</h1>
<h2>Zamowienia Klientow</h2>
<script language="php">
//otwieranie calego pliku
//kazde zmowienie staje sie elementem tablicy
$zamowienia=file($_SERVER['DOCUMENT_ROOT']."1.txt");

//obliczanie ilosci elementow tablicy
$ilosc_zamowien=count($zamowienia);
if($ilosc_zamowien==0)
{
echo '<p><strong>Brak zamowien</strong><p>';
exit;
}
echo "<table border='1'>\n";
echo'<tr><th bgcolor="#CCCFF">Data zamowienia</tr>
<th bgcolor="#CCCFF">Opony</td>
<th bgcolor="#CCCFF">Olej</td>
<th bgcolor="#CCCFF">Swiece</td>
<th bgcolor="#CCCFF">Suma</td>
<th bgcolor="#CCCFF">Adres</td>
</tr>';

for($i=0;$i<$ilosc_zamowien;$i++)
{
//rozbicie kazdej linii
$linia=explode("\t",$zamowienia[$i]);
//zapamietywanie wylacznie ilosci zamowionych produktow
$linia[1]=intval($linia[1]);
$linia[2]=intval($linia[2]);
$linia[3]=intval($linia[3]);
//wyswietlanie kazdego zamowienia
echo "<tr><td>$linia[0]</td>
<td align='right'>$linia[1]</td>
<td align='right'>$linia[2]</td>
<td align='right'>$linia[3]</td>
<td align='right'>$linia[4]</td>
<td>$linia[5]</td>
</tr>";
}
echo '</table>';
</script>
</body>
</html>
wookieb
Cytat(blooregard @ 27.01.2009, 23:39:46 ) *
PS. Ucz się, pytaj, popełniaj błędy i znów pytaj. A będzie dobrze. smile.gif

Mogłeś tego nie mówić.. teraz beda tematu w stylu "syntax error".



WITEK000
Czy przeczytałeś tą książkę dosyć dokładnie?

Cytat
wyświetla mi same błędy

A może być podał TREŚĆ tych błędów?

Cytat
w php można w tworzyć konstrukcje typu :
<?
[kod]
<?
[kod]
?>?>

Nie. Tylko takie
Kod
<? kod php ?> kod html i inne


Zrób
Kod
print_r($linia)
i bedziesz widzial jakie dane masz w talblicy. Tylko teraz bojowe zadanie dla ciebie.. Gdzie wstawić to kod ktory ci podałem...
blooregard
Cytat
Mogłeś tego nie mówić.. teraz beda tematu w stylu "syntax error".

Fakt, nie przewidziałem:)

Cytat
wyświetla mi same błędy

Pokaż w końcu te błędy, człowieku. Jak mamy Ci pomóc ?
witek000
Cytat
print_r($linia)

wielkie dzięki, za mało informacji dodawałem do tablicy wstydnis.gif w skrypcie tworzącym plik .txt i dlatego nie wyświetlało mi prawidłowo danych w tabeli. czarodziej.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.