Autor Zpráva
Anonymní
Profil *
Ahoj, jak zkopíruju obsah tabulky teams do tří jiných tabulek (red, blue, green)???

Mám takovýto kód a nedaří se, vždy to zkopíruje jen jeden řádek:




{
$los1 = mysql_query("select tymid, teamname, sila from teams order by sila DESC LIMIT 0,6") or die (mysql_error());;
while($row = mysql_fetch_array($los1))
{
$tymid = $row['tymid'];
$teamname = $row['teamname'];
}
mysql_query("update `red` set tymid = '$tymid', teamname = '$teamname'") or die ("DB Error: Nelze vykonat update tabulky red! ".mysql_error());;
if (mysql_affected_rows()==0) mysql_query("insert into `red` values ('$tymid', '$teamname')");

$los2 = mysql_query("select tymid, teamname, sila from teams order by sila DESC LIMIT 6,12") or die (mysql_error());;
while($row = mysql_fetch_array($los2))
{
$tymid = $row['tymid'];
$teamname = $row['teamname'];
}
mysql_query("update `blue` SET tymid = '$tymid', teamname = '$teamname'") or die ("DB Error: Nelze vykonat update tabulky blue! ".mysql_error());;
if (mysql_affected_rows()==0) mysql_query("insert into `blue` values ('$tymid', '$teamname')");

$los3 = mysql_query("select tymid, teamname, sila from teams[/b] order by sila DESC LIMIT 12,18") or die (mysql_error());;
while($row = mysql_fetch_array($los3))
{
$tymid = $row['tymid'];
$teamname = $row['teamname'];
}
mysql_query("update `green` SET tymid = '$tymid', teamname = '$teamname'") or die ("DB Error: Nelze vykonat update tabulky green! ".mysql_error());;
if (mysql_affected_rows()==0) mysql_query("insert into `green` values ('$tymid', '$teamname')");
}

gaminn
Profil *
INSERT INTO new_table (pole1, pole2) SELECT pole1, pole2 FROM old_table WHERE pole3='foo';
gaminn
Profil *
Jinak pokud to chceš dělat pomocí takových složitostí, měl bys zapojit svou inteligenci a mělo by ti dojít, že pokud máš insert mimo cyklus while, tak se ti zákonitě musí vložit jen jeden řádek (ten poslední).
Anonymní
Profil *
Tohleto je v jednom query?
INSERT INTO new_table (pole1, pole2) SELECT pole1, pole2 FROM old_table WHERE pole3='foo';

To jsem nevěděl, že jde dát insert a select do jednoho příkazu.

jo máš pravdu, když je to mimo while, nemůže se tam vložit všechno, to jsem opomněl.

Díky.
gaminn
Profil *
INSERT INTO new_table (pole1, pole2) SELECT pole1, pole2 FROM old_table WHERE pole3='foo';

Ano, to je jeden sql dotaz, mrkni do dokumentace mysql, najdeš tam i jiný užitečný věci, ušetří ti to spoustu řádků kódu.
Anonymní
Profil *
Máš link, kde by se dal manuál stáhnout celej, nejlíp v češtině? Díky. Manuál php i mysql.
Tomik
Profil
PHP: http://www.php.net/download-docs.php
MySQL: http://mysql.com/doc/

a jinak manuál v češtine (nebo spíše takový přehled) je na: http://mm.gene.cz/
Anonymní
Profil *
Super odkazy, díky.
Toto téma je uzamčeno. Odpověď nelze zaslat.