Autor Zpráva
Martin
Profil
Může existovat proměnná, která vypadá takhle $2 ? De mi o tu dvojku, že tam neni místo ní nějakej text.. Docela by se mi hodilo abych takovou proměnnou mohl vytvořit.
DoubleThink
Profil *
V drtivé většině jazyků nesmí proměnná začínat číslem, takž ne.

Na co bys to probůh potřeboval??
Martin
Profil
Edituju ankety....a na lepší způsob jsem nepřišel

do {
@$spojeni=MySQL_connect("$server","$login","$password");
@$db = MySQL_Select_DB("$database");
if(!$spojeni || !$db) {
echo "<br />Nepodařilo se připojit k databázy MySQL, kontaktujte správce!";
break;
}
if($_SESSION["opravneni"]!=1) {
Header("Location:index.php?co=login");
break;
}

echo "<div class=\"anketa\">";
if($uloz) {
$query = Mysql_Query("UPDATE zs_otazky SET zs_otazky.otazka='{$_POST["otazka"]}' WHERE id='$e'");
for($i=0;$i<10;$i++) {
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='".$$i."' WHERE id=".$i."");

}

}

if($e) {
$query=Mysql_Query("SELECT zs_otazky.id as id_otazky,zs_otazky.otazka,zs_odpovedi.id as id_odpovedi,zs_odpovedi.odpoved
FROM zs_otazky JOIN zs_odpovedi ON zs_otazky.id=zs_odpovedi.id_otazky WHERE zs_otazky.id=$e");
echo "<form action=\"index.php?co=admin/ankety&amp;e=$e\" method=\"post\">\n";
$y=0;
while($x = Mysql_Fetch_Array($query)) {

$input .= "<input type=\"text\" name=\"{$x["id_odpovedi"]}\" value=\"{$x["odpoved"]}\" /><br />\n";
$input .= "<input type=\"hidden\" name=\""$y"\" value=\"{$x["id_odpovedi"]}\" />\n";
$y++;
}
$otazka = MySQL_Result($query, 0, "otazka");
echo "<input type=\"text\" name=\"otazka\" value=\"$otazka\" class=\"text\" /><br /><br />\n";
echo $input;
echo "<input type=\"submit\" value=\"Ulož změny\" name=\"uloz\" class=\"submit\" /></form>";
}

else {
$query = MySQL_Query("SELECT * FROM zs_otazky");
echo "<b>Vyberte kterou anketu chcete upravit:</b>";
echo "<form action=\"index.php?co=admin/ankety\" method=\"post\">\n";
echo "<select name=\"e\" size=\"4\" multiple>\n";
while($x = Mysql_Fetch_Array($query)) {
echo "<option value=\"{$x["id"]}\" class=\"option\">{$x["otazka"]}</option>\n";
}

echo "</select>";
echo "<input type=\"submit\" value=\"Vyber\" name=\"edituj\" class=\"submit\" /></form>";
}
?>
thingwath
Profil *
Pokud jde tady o tohle:

for($i=0;$i<10;$i++) {
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='".$$i."' WHERE id=".$i."");
}


Tak tam nějak nechápu, co je cílem snažení, ale určitě by to šlo nahradit polem.
Martin
Profil
Vytvořil jsem si k anketám tyhle dvě tabulky...
CREATE TABLE `zs_odpovedi` (
`id` smallint(6) unsigned NOT NULL auto_increment,
`id_otazky` smallint(6) NOT NULL default '0',
`odpoved` char(50) NOT NULL default '',
`pocet` smallint(6) NOT NULL default '0',
PRIMARY KEY (`id`)
)

CREATE TABLE `zs_otazky` (
`id` smallint(5) unsigned NOT NULL auto_increment,
`otazka` char(50) character set utf8 collate utf8_czech_ci NOT NULL default '',
PRIMARY KEY (`id`)
)

Prostě nevim, jak mám udělat administrační část. Funguje to asi tak, že admin si zvolí anketu, kterou si chce zeditovat.
Potom se vypíše Otázka a pod ní její odpovědi... Otázka i odpovědi jsou v <input value=".... Nevim, jak udělat, že když to uživatel změní a odešle aby se přepsali jen ty správný příspěvky..
Martin
Profil
thingwath: jo jdeto o tohle, ale nevim, tak to udělat jinak.
DoubleThink
Profil *
Už to vidím taky -

"$$i" je IMHO totální blábol - to ti parser nesežere ani kdybys tam měl řetězec

Udělej to tím polem: $neco[$i]
Martin
Profil
kdybych tam řetězec byl tak to fachat bude.
$ahoj = cau;
$cau = ahoj;
echo $$cau;
Vypíše cau
Doufám, že jsi myslel tohle....nějak to zkusim s tim polem
thingwath
Profil *
Fungovat to asi může, ale přijde mi to jako šílenství, když můžu snadno a přehledně použít pole.
Martin
Profil
Já pořád nevim, jak to udělat s tim polem :(
izsak
Profil
Stále by ti to nefungovalo, veď výsledok cyklu by bol napr. takýto:

pre $2:
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='2' WHERE id=1");

$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='2' WHERE id=2");
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='2' WHERE id=3");
Anonymní
Profil *
Tohle bych odesílal:
<h1>Editace anket</h1>
<div class="anketa"><form action="index.php?co=admin/ankety&amp;e=1" method="post">
<input type="text" name="otazka" value="Jaké používáte rozlišení?" class="text" /><br /><br />
<input type="text" name="1" value="640x480" /><br />
<input type="hidden" name="0" value="1" />
<input type="text" name="2" value="800x600" /><br />
<input type="hidden" name="1" value="2" />
<input type="text" name="3" value="1024x768" /><br />
<input type="hidden" name="2" value="5" />
<input type="text" name="9" value="Vyšší" /><br />
<input type="hidden" name="3" value="9" />
<input type="submit" value="Ulož změny" name="uloz" class="submit" /></form>
</div>

to by tedy nebyl

$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='640x480' WHERE id=1");
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='800x600' WHERE id=2");
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='1024x768' WHERE id=5");
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='Vyšší' WHERE id=9");
Martin
Profil
Sen se zase spletl. To nademnou je špatne sorry :) Je to celý špatně. Udělal jsem to pomocí toho pole
Ale kdyby tam bylo tohle :
for($i=0;$i<10;$i++) {
$query = Mysql_Query("UPDATE zs_odpovedi SET zs_odpovedi.odpoved='".$$$i."' WHERE id=".$$i."");
}
Tak by to bylo taky špatně....protože se mi tak vyskytují proměnné se stejnýmy názvy.

Díky všem
thingwath
Profil *
Teda, to už by bylo skutečně dílko :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.