Chciałbym osadzić HTML wewnątrz instrukcji PHP if, jeśli jest to w ogóle możliwe, ponieważ myślę, że kod HTML pojawiłby się przed PHP, jeśli instrukcja zostanie wykonana.
Próbuję uzyskać dostęp do tabeli w bazie danych. Utworzyłem menu rozwijane w HTML, które zawiera listę wszystkich tabel w bazie danych i po wybraniu tabeli z menu rozwijanego klikam przycisk przesyłania.
Używam funkcji isset, aby sprawdzić, czy przycisk przesyłania został naciśnięty i uruchamiam pętlę w PHP, aby wyświetlić zawartość tabeli w bazie danych. W tym momencie mam pełną tabelę, ale chcę uruchomić więcej zapytań na tej tabeli. Stąd powód, dla którego próbuję wykonać więcej kodu HTML w instrukcji if. Ostatecznie próbuję zaktualizować (1 lub więcej zawartości w wierszu lub w wielu wierszach) lub usunąć (1 lub więcej wierszy) zawartość tabeli. To, co próbuję zrobić, to utworzyć kolejne menu rozwijane odpowiadające kolumnie w tabeli, aby ułatwić wyszukiwanie w tabeli, oraz przyciski opcji odpowiadające temu, czy chcę zaktualizować, czy usunąć zawartość tabeli.
Odpowiedzi:
Na życzenie, oto elseif i else (które można również znaleźć w dokumentacji )
To takie proste.
Kod HTML zostanie wyświetlony tylko wtedy, gdy warunek zostanie spełniony.
źródło
Tak,
źródło
Tak.
źródło
Używanie tagów zamknij / otwórz PHP nie jest dobrym rozwiązaniem z dwóch powodów: nie możesz drukować zmiennych PHP w zwykłym HTML i sprawia to, że kod jest bardzo trudny do odczytania (następny blok kodu zaczyna się od nawiasu końcowego
}
, ale czytnik ma nie mam pojęcia, co było wcześniej).Lepiej jest użyć składni heredoc . Jest to ta sama koncepcja, co w innych językach (np. Bash).
END_OF_TEXT
jest twoim ogranicznikiem (może to być w zasadzie dowolny tekst, taki jak EOF, EOT). Wszystko pomiędzy jest traktowane przez PHP jako ciąg znaków, tak jakby było w cudzysłowie, więc możesz drukować zmienne, ale nie musisz uciekać przed cudzysłowami, więc jest to bardzo wygodne do drukowania atrybutów HTML.Zauważ, że ogranicznik zamykający musi zaczynać się na początku wiersza, a średnik musi być umieszczony zaraz po nim, bez innych znaków (
END_OF_TEXT;
).Heredoc z zachowaniem łańcucha znaków w pojedynczych cudzysłowach (
'
) nazywa się nowdoc . W nowdoc nie jest wykonywane żadne analizowanie. Używasz go w taki sam sposób jak heredoc, po prostu umieszczasz otwierający separator w pojedynczych cudzysłowach -echo <<< 'END_OF_TEXT'
.źródło
Więc jeśli warunek jest równy żądanej wartości, dokument php uruchomi się „include” i dołączenie doda ten dokument do bieżącego okna, na przykład:
`
`
źródło
źródło
Wiem, że to stary post, ale naprawdę nienawidzę, że jest tu tylko jedna odpowiedź, która sugeruje nie mieszanie html i php. Zamiast mieszać treści, należy skorzystać z systemów szablonów lub samodzielnie stworzyć podstawowy system szablonów.
W pliku php
W html (/path/to/file.html)
Wynik tego byłby:
źródło