Autor Zpráva
mackopu
Profil
Už delší dobu používám vlastní administrační systém databázových tabulek (takový hodně zjednodušený phpmyadmin, abych nemusel chodit na vrabce s houfnicí). Obsah každé tabulky v něm bez problémů mohu editovat, ovšem s výjimkou dvou. Ty zaboha nejdou. A jediné, co mají společného, jsou sloupce login a password v řadě dalších. Netušíte zda by to s tím mohlo mít něco společného? V klasickém phpmyadminu je editovat lze.

Jen pro zajímavost struktura jedné tabulky, co zlobí:

CREATE TABLE `uzivatele` (
`id` int(11) NOT NULL auto_increment,
`login` varchar(255) NOT NULL default '',
`password` varchar(255) NOT NULL default '',
`personalni_cislo` varchar(12) NOT NULL default '',
`procenta` char(2) NOT NULL default '',
`mod` int(11) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 AUTO_INCREMENT=1005 ;

a jedné, co je v pohodě:

CREATE TABLE `aktuality` (
`id` tinyint(4) NOT NULL auto_increment,
`nadpis` varchar(255) default NULL,
`uvod` text,
`text` text,
`vlozeno` date NOT NULL default '0000-00-00',
`zobrazit` char(1) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1250 AUTO_INCREMENT=12 ;
mackopu
Profil
Tak jsem na to doteď nepřišel :-/
Ještě napíši ukázku formuláře, který to odesílá:
<form method="POST" action="">

<table>
<tr><td align=right><b>id</b></td>
<input type="hidden" name="atribut[]" value="id">
<td><input type="text" name="hodnota[]" size="80" value="1004"></td></tr>
<tr><td align=right><b>login</b></td>
<input type="hidden" name="atribut[]" value="login">
<td><input type="text" name="hodnota[]" size="80" value="aaa"></td></tr>
<tr><td align=right><b>password</b></td>
<input type="hidden" name="atribut[]" value="password">
<td><input type="text" name="hodnota[]" size="80" value="bbb"></td></tr>
<tr><td align=right><b>personalni_cislo</b></td>
<input type="hidden" name="atribut[]" value="personalni_cislo">
<td><input type="text" name="hodnota[]" size="80" value=""></td></tr>
<tr><td align=right><b>provize_procenta</b></td>
<input type="hidden" name="atribut[]" value="procenta">
<td><input type="text" name="hodnota[]" size="80" value="0"></td></tr>
<tr><td align=right><b>mod</b></td>
<input type="hidden" name="atribut[]" value="mod">
<td><input type="text" name="hodnota[]" size="80" value="2"></td></tr>
</table>
<input type="hidden" name="akce" value="Edit">
<input type="hidden" name="prvni_atribut" value="id">
<input type="hidden" name="id" value="1004">
<input type="hidden" name="nazev_tabulky" value="uzivatele">
<input type="submit" value="Změnit">
</form>

a část, která se stará o update tabulky:
$pocet_hodnot = Count($hodnota);

$hodnoty = "";
for ($i=0;$i<$pocet_hodnot;$i++):
$hodnoty .= $atribut[$i]."='".$hodnota[$i]."', ";
endfor;
$hodnoty = $hodnoty."***";
$hodnoty = str_replace(", ***", " ", $hodnoty); // zbavím se poslední čárky

$sql = "UPDATE ".$nazev_tabulky." SET $hodnoty WHERE ".$prvni_atribut." = ".$id;

$dotaz=mysql_query($sql);
if ($dotaz):
echo "<h3>Záznam s číslem ".$id." byl upraven !</h3>";
else:
echo "<h3>Záznam s číslem ".$id." se nepodařilo upravit !</h3>";
endif;
mackopu
Profil
Tak jsem zkusil všechno a nic. Opravdu vás nic nenapadá?
peta
Profil *
$prvni_atribut." = ".$id;
Ale v tom formulari mas prvni atribut "type=" u inputu
Ale ja tomu zas tolik nerozumim...

Jinac na odpoved si musis pockat i 3 dny. Bys chtel vsechno hned a vcera bylo pozde :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0