Autor | Zpráva | ||
---|---|---|---|
msigmund Profil |
#1 · Zasláno: 1. 2. 2010, 10:46:37 · Upravil/a: msigmund
Dobrý den,
moc prosím o pomoc. Mám v db tabulku games a z tabulky potřebuji vzít title, převést ho pomocí $string a uložit do alias v té samé tabulce. Problém je, že to udělá jen u jednoho title a dál nepokračuje. Mám tam 1052 záznamů a potřebuji to udělat u všech. $dotaz = mysql_query("SELECT id, title FROM games "); while($zaznam = MySQL_Fetch_Array($dotaz)){ $id = $zaznam["id"]; $title = $zaznam["title"]; function vytvoralias($string) { $vyrazje = array( "ě","š","č","ř","ž","ý","á","í","é","ú","ů","ď","ť","ň","ó"," ","A","B","C","Č","D","Ď","E","F","G","H","CH","I","J","K","L","M","N","O","P","Q","R","S","Š","T","Ť","U","V","W","X","Y","Z","Ž" ); $nahradit = array( "e","s","c","r","z","y","a","i","e","u","u","d","t","n","o","-","a","b","c","c","d","d","e","f","g","h","ch","i","j","k","l","m","n","o","p","q","r","s","s","t","t","u","v","w","x","y","z","z"); return strtolower( str_replace( $vyrazje,$nahradit,$string ) ); } $string = "$title"; $alias = vytvoralias($string); $dotaz = MySQL_Query("UPDATE games SET alias='$alias' where id=$id "); if(!$dotaz){ echo "<div class=\"echo\">Zapsání selhalo.</div>"; } else { echo "<div class=\"echo\">Zapsalo se úspěšně.</div>"; } } Děkuji všem. |
||
nightfish Profil |
#2 · Zasláno: 1. 2. 2010, 10:52:08
pravděpodobně to zhučí na vícenásobně definované funkci vytvoralias()
řešením by mohlo být přesunout definici té funkce mimo cyklus |
||
msigmund Profil |
#3 · Zasláno: 1. 2. 2010, 11:00:36
eror to vyhodí na druhý řádek
while($zaznam = MySQL_Fetch_Array($dotaz)){ Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ........... |
||
nightfish Profil |
#4 · Zasláno: 1. 2. 2010, 11:01:35
jo, tak to bude tím, že si přepisuješ proměnnou $dotaz
čiliže změň řádky 18 a 19 - místo $dotaz napiš $dotaz2 |
||
msigmund Profil |
#5 · Zasláno: 1. 2. 2010, 11:12:02
Jo to je pravda, udělal jsem v tom chybu, ale teď je problém jak jsi napsal v tom vytvoralias()
Je to řádek 7 function vytvoralias($string) Fatal error: Cannot redeclare vytvoralias() (previously declared in /var/www/...:29) in /var/www/... on line 29 |
||
msigmund Profil |
#6 · Zasláno: 1. 2. 2010, 11:18:57
Když jí přesunu mimo cyklus, tak se provede také jen jednou. Prosím aspoň o nakopnutí jak dále, čumím do toho tak dlouho, že mně to zblblo.
$dotaz = mysql_query("SELECT id, title FROM games "); while($zaznam = MySQL_Fetch_Array($dotaz)){ $id = $zaznam["id"]; $title = $zaznam["title"]; } function vytvoralias($string) { $vyrazje = array( "ě","š","č","ř","ž","ý","á","í","é","ú","ů","ď","ť","ň","ó"," ","A","B","C","Č","D","Ď","E","F","G","H","CH","I","J","K","L","M","N","O","P","Q","R","S","Š","T","Ť","U","V","W","X","Y","Z","Ž" ); $nahradit = array( "e","s","c","r","z","y","a","i","e","u","u","d","t","n","o","-","a","b","c","c","d","d","e","f","g","h","ch","i","j","k","l","m","n","o","p","q","r","s","s","t","t","u","v","w","x","y","z","z"); return strtolower( str_replace( $vyrazje,$nahradit,$string ) ); } $string = "$title"; $alias = vytvoralias($string); $dotaz = MySQL_Query("UPDATE games SET alias='$alias' where id=$id "); if(!$dotaz){ echo "<div class=\"echo\">Zapsání selhalo.</div>"; } else { echo "<div class=\"echo\">Zapsalo se úspěšně.</div>"; } |
||
nightfish Profil |
#7 · Zasláno: 1. 2. 2010, 11:20:37 · Upravil/a: nightfish
smaž závorku na řádku 6
řádky 7 až 12 (funkci) vem a přesuň před řádek 1 a na poslední řádek (25) přidej uzavírací složenou závorku |
||
msigmund Profil |
#8 · Zasláno: 1. 2. 2010, 11:40:18
Děkuji za proškolení, potřebuji pár facek abych se vzpamatoval. Tááááková chyba.
|
||
Časová prodleva: 14 let
|
0