Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie wartości w formularzach
Forum PHP.pl > Forum > Gotowe rozwiązania
maciu
mam scrypt, który wyświetla dane pola tabeli bazy danych w formularzu, czyli atrybut NAME formularza przyjmuje wartość pola tabeli, a jeśli podaje warunek w zapytaniu do bazy danych to również wyświetla się wartość danego pola z bazy.

[php:1:1b41583d6d]
<?
$table = 'biografie';
$where = '';
$pola = array('id', 'artysta', 'tresc', 'gatunek', 'data', 'autor');

function wyswietl_pola_form($table, $where, $pola)
{
global $db;

if (empty($where))
$query = "SELECT ".implode(',' ,$pola)." FROM $table";
else
$query = "SELECT ".implode(',' ,$pola)." FROM $table WHERE $where";

$db ->query($query);
$wynik = $db->fetch_row();

while(list($nazwa, $wartosc) = each($wynik))
{
typ_pola_form($nazwa, $wartosc);
}
}

function typ_pola_form ($nazwa, $wartosc)
{
echo'<input type=text name="' .$nazwa.'" value="' .stripslashes(trim($wartosc)).'"><br>';
}
?>
[/php:1:1b41583d6d]


wszystko byłoby dobrze, gdyby nie to, że jak w zapytaniu do bazy nie określam żadnego warunku, to w polach formularza wpisują się wartości z pierwszego rekordu tabeli, a załżenie jest takie, żeby w takim przypadku w polach formularza nic się nie wyświetlało.
zombie
nie wiem, czy dobrze Cię rozumiem. Jeśli nie chcesz otrzymać odpowiedzi, to po co zadajesz pytanie? SQL nie zna query retorycznego. :wink:

spróbuj zmienić linie 10-13 na:[php:1:3068abfc2e]<?php
if (!empty($where))
$query = "SELECT ".implode(',' ,$pola)." FROM $table WHERE $where";
?>[/php:1:3068abfc2e]
i linię 18:[php:1:3068abfc2e]<?php
while(list($nazwa, $wartosc) = @each($wynik))
?>[/php:1:3068abfc2e]
maciu
pytanie po to zadaje, żeby scrypt wiedział jakie pola z bazy ma wyświetlić w formularzu
zombie
skrypt "wie" to z tablicy array, nie musi o to pytać bazy. najprościej chyba dodać warunek...
[php:1:a951e0e20c]<?php
while(list($nazwa, $wartosc) = each($wynik))
{

if (empty($where)) {
unset($wartosc);}

typ_pola_form($nazwa, $wartosc);
}
?>[/php:1:a951e0e20c]
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-2024 Invision Power Services, Inc.