Autor Zpráva
Hanz37
Profil
Ahoj,

nevím si rady s triviální věcí - chci docílit v MySQL updatu celého sloupce s názvem "url", který obsahuje záznamy, ze kterých chci pomocí mojí fce s názevm např. odstranit() odstranit diakritiku a mezery nahradit pomlčkami (funkci odstranit() tedy mám). Mohl by mě prosím někdo nasměrovat jak by měl vypadat php skript s dotazem do mysql?

Děkuji

Hanz
Taps
Profil
Hanz37:
zkus to nějak takto
<?
$sql = mysql_query("SELECT url FROM tabulka");
while($zaznam = mysql_fetch_assoc($sql)){
mysql_query( "UPDATE tabulka set url="'.odstranit($zaznam['url']).'" where id=".$zaznam['id']);
}
?>
Hanz37
Profil
Taps:

Ahoj,

tak jsem se s tím trápil už několik hodin a bez úspěchu. Pro kontrolu mám v cyklu echo na $url a to v pořádku vypíše všechny záznamy, ale k updatu nedojde a dostávám na konci výstup Error. Nevěděl byste prosím někdo kde by mohl být problém?

Děkuji za jakýkoliv tip

function odstranit($url) {        
echo(StrTr($url, "ÁÄČÇĎÉĚËÍŇÓÖŘŠŤÚŮÜÝŽáäčçďéěëíňóöřšťúůüýž", "AACCDEEEINOORSTUUUYZaaccdeeeinoorstuuuyz"));        
return $url;
}

$sql = mysql_query("SELECT * FROM table");
while($zaznam = mysql_fetch_assoc($sql)){
$result=mysql_query($con, "UPDATE table set url=".odstranit($zaznam['url'])." where id=".$zaznam['id']."");
echo $url;
}

if($result){
echo "OK";
} else {
echo "ERROR";
}
Alphard
Profil
$con dejte pryč a hodnotu obalte apostrofy.

A ještě jswem si nevšiml, že funkce odstranit() vrací původní hodnotu. Místo echo tam musí být return.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0