Autor Zpráva
dotaz
Profil *
Mám příchozí $_POST['key'] a potřeboval bych všechny převést takto:

$p_key = $_POST['key'];
$p_datum = $_POST['datum'];

Defakto aby byl prefix p_ (jako post) a pak podle identifikace key.

Je to zdůvodu, abych pak měl jednodušší zápis html místo
echo "<p>Nekdo".$_POST['nekdo']."napsal zprávu ".$_POST['text']."</p>";

todle
echo "<p>Nekdo $p_nekdo napsal zprávu $p_text </p>";
Peca
Profil
$prefix='p_';
foreach ($_POST as $key=>$value)
{
$post="$prefix$key";
$$post=$value;
}
dotaz
Profil *
Funguje to :-) díky.. Vysvětlíš mi, jak mám pochopit funkci (smysl) $$post (že jsou tam dvakrát dolary).
Ostatní chápu.
Peca
Profil
V $post je např. p_promenna, ale ty potřebuješ tu hodnotu uložit do $p_promenna.
dotaz
Profil *
Tak ještě sorry, chtěl jsem to použít i na výpis z DB..
$sql = mysql_query("SELECT * FROM tabulka");
while ($vypis = mysql_fetch_array($sql))
{

A zde bych chtěl převést
$vypis_key = $vypis['key'];
ale

$prefix='vypis_';
foreach ($vypis as $key=>$value)
{
$post="$prefix$key";
$$post=$value;

Warning: Invalid argument supplied for foreach() in C:Program Filesxampphtdocslhoty ajne eport.php on line 9
}
Peca
Profil
Chyba je v databázi. SQL asi nevrací žádné pole. Možná je prázná tabulka.
dotaz
Profil *
Tabulka není prázdná protože mi funguje klasické

while ($vypis = mysql_fetch_array($sql))
{
$prefix_nazev = $vypis['nazev'];

}

echo $prefix_nazev;

Ale těch sloupců je tam moc tak jsem myslel přes to foreach to automatizovat.

$prefix='w_';
foreach ($vypis as $key=>$value)
{
$post="$prefix$key";
$$post=$value;
echo $$post;
}

Co je pole? while ($vypis = mysql_fetch_array($sql)) (to $sql nebo ten $vypis?
dotaz
Profil *
Funguje, díky za vše
Peca
Profil
Zjisti si, co je proměnné $vypis před foreach. Musí to být pole.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0