Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] przełączanie między PHP i HTML + zmienne
Forum PHP.pl > Forum > Przedszkole
mpshotter
Witam mam pytanie dlaczego pobierając dane z mysql jak wyświetlam pobrane dane między cudzysłowaimi i kropką raz wyskakują błędy a raz nie chodzi o:
  1. echo" coś tam $zmienna i dalej ";

lub
  1. echo" coś tam ".$zmienna." i dalej ";
na jednych stronach mi się wyświetlają błędy a na innych nie:

  1. $results = mysql_query($kth) or die (mysql_error());
  2.  
  3.  
  4. while ($row = mysql_fetch_array($results)){
  5. echo "<TR>";
  6. echo "<TD id=tdl><a href='index.php?page=editkontr&ed_idkontr=$row[id_kontrahent]&idtkontr=01'>$row[ktr_nazwa]</a></TD>";
  7. echo "<TD id=tdl>$row[imie]</TD>";
  8. echo "<TD id=tdl>$row[nazwisko]</TD>";
  9. echo "<TD id=tdl>$row[pass]</TD>";
  10. echo "<TD id=tdl>$row[data_ur]</TD>";
  11. echo "<TD id=tdl>$row[data_zatr]</TD>";
  12. echo "<TD id=tdl>$row[data_log]</TD>";
  13. echo "<TD id=tdr>$row[nip]</TD>";
  14. echo "<TD id=tdl>$row[regon]</TD>";
  15. echo "<TD>$row[ulica]</TD>";
  16. echo "<TD>$row[kod_p]</TD>";
  17. echo "<TD>$row[miasto]</TD>";
  18. echo "<TD>$row[telefon]</TD>";
  19. echo "<TD>$row[mail]</TD>";
  20.  
  21.  
  22. }



nie pokazuje błędów a jak używam tak :

  1. echo "<TD id=tdl><a href='index.php?page=editkontr&ed_idkontr=".$row[id_kontrahent]."&idtkontr=01'>$row[ktr_nazwa]</a></TD>";



to wyświetla błąd :
Notice: Use of undefined constant id_kontrahent - assumed 'id_kontrahent' in C:\xampp\htdocs\www\inc\users.php on line 37


a w tym kodzie działa poprawnie:

  1. <?php
  2. while ($pozzlec = mysql_fetch_array($spz)){
  3.  
  4. echo"<tr><input type='hidden' name='EditZlecPozID' value='".$pozzlec['id_p_zlecenia']."'>
  5. <input type='hidden' name='EditZlecPoz[]' value='".$pozzlec['id_zlecenia']."'>
  6. <TD><input type='textbox' name='EditZlecPoz[]' value='".$pozzlec['opis']."'></TD>
  7. <TD><input type='textbox' name='EditZlecPoz[]' value='".$pozzlec['ilosc_zam']."'></TD>
  8. <TD><input type='textbox' name='EditZlecPoz[]' value='".$pozzlec['ilosc_zreal']."'></TD>
  9. <TD><input type='textbox' name='EditZlecPoz[]' value='".$pozzlec['p_adres_ftp']."'></TD>
  10. <TD><input type='textbox' name='EditZlecPoz[]' value='".$pozzlec['p_z_koszt']."'></TD>
  11. <TD><input type='textbox' name='EditZlecPoz[]' value='".$pozzlec['p_z_wartosc']."'></TD></tr>";}
  12. ?>
aapsik21
przy id_kontrahent nie użyłeś apostrofów
D3X
A konkretnie chodzi o to, że w stringach objętych w podwójne cudzysłowy, gdy odwołujesz się do klucza tablicy asocjacyjnej, możesz pominąć cudzysłowy. Poza takimi stringami, taki zapis zostanie potraktowany jako odwołanie do stałej (w tym wypadku id_kontrahent). Jeżeli stała nie jest zdefiniowana (a zapewne nie jest), to PHP traktuje ją tak, jakby to był string z nazwą tejże stałej. Jednocześnie zgłasza błąd typu E_NOTICE. Dlatego zawsze powinieneś się odwoływać przez $tablica['klucz'].
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.