Autor Zpráva
had
Profil *
ahoj,
mám tu jeden stupidní problém, skoro je mi až blbý sem psát ;) ale nějak nevím proč mi blbne ten cyklus, tak vám to radši napíšu.
skládám SQL dotaz (sql export dat z tabulky)... mám tam 8 sloupců, do správně fungující části se mi vypíšou všechny názvy sloupců, potom je závorka, VALUES ... a pak se mi vypíše už jenom 7 sloupců (díky těmhle cyklům někde). nevíte v čem je problém? proč mi to bere blbě jenom sedm sloupců místo osmi?
díky za tipy (popř. jak tu část vhodně přepsat)


while($row = mysql_fetch_row($export)){
$line = '';
$line .= "(";

foreach($row as $value){
if( (!isset($value)) or ($value == "") ){
$value = "\t";
}else{
$value = str_replace('"', '""', $value);
$value = '"'.$value.'", '."\t";
}
$line .= $value;
}

$line = substr($line, 0, (strlen($line)-2)); // osekat o poslední čárku a mezeru
$line .= "), ";
$data .= trim($line)."\n";
}
AM_
Profil
foreach($row as $value){
if( (!isset($value))
... jak může v tuhle chvíli platit !isset($value)?
nějak ani nechýpu, co by ten kód měl dělat.
Majkl578
Profil
proc misto foreache nepouzijes implode?
had
Profil *
hm...ja se bez mučení přiznám, že jsem ten kód kdesi našel a nijak moc ho nepřepisoval a ani nezkoumal... ale zkusím ještě to prohrábnout kolem tohohle issetu. zatím díky za tip, ještě se ozvu ;)
AM_
Profil
Jo, tohle je akorát složitě a ještě myslím si blbě napsané to, co dělá implode, teď to vidím :)
Majkl578
Profil
$sqlary = array('aaaa', 'bbbb', 'cccc', 'dddd', 'eeee', 'ffff');
$sql = 'INSERT INTO tabulka (a,b,c,d,e,f) VALUES ';
$sql .= "('" . implode("','", $sqlary) . "')";
had
Profil *
už jsem to vyřešil (přepsal sám) ;) dík za pomoc

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: