Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Php - echo
Forum PHP.pl > Forum > PHP
maniek.a
Witam! Chciałbym się dowiedzieć jak najbardziej poprawnie powinno się 'echować' tabelki, formularze, javascript? Dotychczas spotkałem się z kilkoma sposobami, a ja chciałbym się dowiedzieć który jest najlepszy, a może jest jakiś lepszy od zaprezentowanych poniżej?:
1.
  1. <?$link=mysql_query("SELECT osoba FROM kontrahent where kid like '%$id%'");
  2. while($wiersz=mysql_fetch_array($link))
  3. {
  4. echo'<tr>';
  5. echo'<td>'.$wiersz['nazwa'].'</td>';
  6. echo'<td>'.$wiersz['osoba'].'</td>';
  7. echo'<td>'.$wiersz['nip'].'</td>';
  8. ?>
  9. <td><form><input type="button" class="formbutton" value="Wstaw" onClick="window.location.href='?faktury=dodaj&kid=<? echo ''.$wiersz['kid'].'';?>'"></form></td>
  10. <?
  11. }
  12. echo'</table></div>'; ?>

2.
  1. <?$link=mysql_query("SELECT osoba FROM kontrahent where kid like '%$id%'");
  2. while($wiersz=mysql_fetch_array($link))
  3. {
  4. echo'<tr>
  5. <td>'.$wiersz['nazwa'].'</td>
  6. <td>'.$wiersz['osoba'].'</td>
  7. <td>'.$wiersz['nip'].'</td>';
  8. ?>
  9. <td><form><input type="button" class="formbutton" value="Wstaw" onClick="window.location.href='?faktury=dodaj&kid=<? echo ''.$wiersz['kid'].'';?>'"></form></td>
  10. <?
  11. }
  12. echo'</table></div>'; ?>





Przy okazji czy javascript można też 'echować' bo występują w nim i ' i "?
Z góry dziękuje za pomoc.
ZeTu
Osobiście uważam że drugi sposób
kamil4u
Osobiście używam:
  1. <?$link=mysql_query("SELECT osoba FROM kontrahent where kid like '%$id%'");
  2. while($wiersz=mysql_fetch_array($link))
  3. { ?>
  4. <tr>
  5. <td> <?php echo( $wiersz['nazwa'] ); ?> </td>
  6. <td> <?php echo( $wiersz['osoba'] ); ?> </td>
  7. <td>' <?php echo( $wiersz['costam'] ); ?> </td>
  8. <td>
  9. <form>
  10. <input type="button" class="formbutton" value="Wstaw" onClick="window.location.href='?faktury=dodaj&kid=<? echo ''.$wiersz['kid'].'';?>'">
  11. </form>
  12. </td>
  13. <?php } ?>
  14.  
  15. </table></div>



Już nie mówiąc o tym, że kod HTML jest średniej jakości smile.gif
markonix
Dorzucę swoją wersje.

  1. <table>
  2. <?php
  3. $link = mysql_query("SELECT osoba FROM kontrahent where kid like '%$id%'");
  4. while ($wiersz = mysql_fetch_array($link)):
  5. ?>
  6. <tr>
  7. <td><?= $wiersz['nazwa'];?></td>
  8. <td><?= $wiersz['osoba'];?></td>
  9. <td><?= $wiersz['nip'];?></td>
  10. <td>
  11. <form>
  12. <input type="button" class="formbutton" value="Wstaw" onClick="window.location.href='?faktury=dodaj&kid=<?= $wiersz['kid'];?>'">
  13. </form>
  14. </td>
  15. </tr>
  16. <?php endwhile; ?>
  17. </table>
pitu
@markonix spotkałem się z tym, że <?= na wielu hostingach nie działa. (short tags)
melkorm
Stosuję to samo co @markonix tylko że używam pełnej notacji <?php echo ... ;?>
markonix
Cytat(pitu @ 12.01.2013, 00:19:47 ) *
@markonix spotkałem się z tym, że <?= na wielu hostingach nie działa. (short tags)

Ja nigdy, ale jestem tego świadom, że może się tak zdarzyć.
CodeIgniter, np. jeśli nie są włączone, zmienia je na zwykłe echo przed wysłaniem do serwera więc tu się o to nie trzeba martwić.

W każdym razie nie stosowałbym jeżeli short tags byłyby jakimś przeżytkiem, sam je przestałem stosować dla kompatybilności ale można zauważyć, że w nowych wersjach PHP wraca do łask - ma być zawsze domyślnie włączone.
pamil
Cytat(pitu @ 12.01.2013, 00:19:47 ) *
@markonix spotkałem się z tym, że <?= na wielu hostingach nie działa. (short tags)

Od PHP 5.4 wyrażenie <?= jest poprawne niezależnie od dyrektywy short_tags.

Ja stosuję albo Twig, albo dla mniejszych rzeczy sposób podany przez @markonix.
szok
Żadne w powyższych, nie mieszaj kodu html z php i na dodatek w kodzie HTML zpaytanie SQL sad.gif

Po to są systemy szablonów.
Moris299
Ja zawsze używam

echo(' ... ');

oraz

Echo(" ... ");

Ten pierwszy np. do znaczników HTML a drugi do zmiennych itp.

np.:

<?php

$w = world;

echo('<div id="abc">');
echo("hello $w");
echo('</div>');

?>

Taki nawyk, nie wiem czemu ten sposób jest tak rzadko używany...
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.