11closed 0 Denunciar post Postado Junho 9, 2010 ola estou com um problemã, ñ consigo resolver, gostaria da ajuda de vcs olha o codigo if ($linhas["qtsApars"] == "50") { $acaba = 50; for ($i = 1; $i <= $acaba; $i++) { $sql[$i] = "SELECT * FROM ".$tabela[(2+$i)]." WHERE codigoid_apar$i='".$linhas["codigoid_anuncia"]."'"; $query[$i] = mysql_query($sql[$i])or die(mysql_error()); while($linha[$i] = mysql_fetch_array($query[$i])) { echo " <a href='completo.php?id_anuncia=".$linhas["id_anuncia"]."' title=''>".$linhas["nlocal"]."</a> Selecione o que deseja visualizar: <form name='frmMudar' method='post'> <select name='sltMudar' onchange='fMudarPagina()'> <option selected>Selecione <option value='completo[$i].php?id_apar[$i]=".$linha[$i]["id_apart[$i]"]."'>".$linha[$i]["apar[$i]"]."</option> </select> </form> "; } } } esta dano esse erro Warning: Cannot use a scalar value as an array in D:\wamp..............\completo.php on line 360 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'S' at line 1 procurei no google sobre ele, mais ñ acho a solução do erro. a linha 360 é essa $query[$i] = mysql_query($sql[$i])or die(mysql_error()); alguem poderia me ajudar, a resolver esse problema ?? t+ Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Junho 10, 2010 desnecessário esse malabarismo todo.. pq não faz só: $sql = .. $query = mysql_query( $sql )or die( mysql_error() ); while( $linha = mysql_fetch_array($query) ) { funcionará.. e outra, mas que modelagem estranha !! a impressão que dá, é que você está criando um monstro, um bicho de 7 cabeças, que a qualquer hora, pode sair de controle. estude Formas Normais Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 10, 2010 ola William Bruno desse jeito ñ deu.. tipo é preciso que o loop repita ate o numero 50 ai criara algo assim # ex: loop 1 $sql1 = "SELECT * FROM ".$tabela3." WHERE codigoid_apar1='".$linhas["codigoid_anuncia"]."'"; $query1 = mysql_query($sql1)or die(mysql_error()); while($linha1 = mysql_fetch_array($query1)) { echo " <a href='completo.php?id_anuncia=".$linhas["id_anuncia"]."' title=''>".$linhas["nlocal"]."</a> Selecione o que deseja visualizar: <form name='frmMudar' method='post'> <select name='sltMudar' onchange='fMudarPagina()'> <option selected>Selecione <option value='completo1.php?id_apar1=".$linha1["id_apar1"]."'>".$linha1["apar1"]."</option> </select> </form> "; } # ex: loop 2 $sql2 = "SELECT * FROM ".$tabela4." WHERE codigoid_apar2='".$linhas["codigoid_anuncia"]."'"; $query2 = mysql_query($sql2)or die(mysql_error()); while($linha2 = mysql_fetch_array($query2)) { echo " <a href='completo.php?id_anuncia=".$linhas["id_anuncia"]."' title=''>".$linhas["nlocal"]."</a> Selecione o que deseja visualizar: <form name='frmMudar' method='post'> <select name='sltMudar' onchange='fMudarPagina()'> <option selected>Selecione <option value='completo2.php?id_apar2=".$linha2["id_apar2"]."'>".$linha2["apart2"]."</option> </select> </form> "; } # ex: loop 3....... ate o 50.. por isso que eu fis dessa forma estranha. como eu faço para arrumar esse erro ? Warning: Cannot use a scalar value as an array in D:\wamp..............\completo.php on line 360 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'S' at line 1 t+ Compartilhar este post Link para o post Compartilhar em outros sites
srnetcave 1 Denunciar post Postado Junho 10, 2010 qual a query retornada? da um echo da query e veja se está correta... E como o William mencionou acima, sua estrutura não parece muito "correta"...Tente explicar melhor a situação que usa o script.... Flw Compartilhar este post Link para o post Compartilhar em outros sites
ricardo.haas 0 Denunciar post Postado Junho 10, 2010 Sem um explicacao do quer fazer fica dificil ajudar............. As variáveis $tabela3,$tabela4... estão definidas? No seu caso eu tentaria fazer uma tabela auxiliar, para ler os dados... id table column 1 3 1 Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 10, 2010 na linha 359, adicione isso: $query = array(); Desde que não esteja dentro do loop. Me fala uma coisa, você não tá mandando executar 50 consultas, ta? Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 10, 2010 ola srnetcave query não retorna nada ricardo.haas sim, as variaveis $tabela1, $tabela2 .... estão todas definidas na pagina config.php estou buscando ela com um include. Evandro Oliveira adicionei essa linha que você citou e o erro que acusou foi apenas esse. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'S' at line 1 e SIM é exatamente o que eu quero que faça 50 consultas. o que eu quero é buscar os dados do BD, e aparecer no options os 50 resultados.. deu para entender agora ??? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 10, 2010 Alguma de suas consultas (provavelmente a primeira) está errada. O que você precisa fazer com o banco? Talvez exista algo mais fácil. Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 10, 2010 o que quero é um Select com os 50 apar(apar é um campo numerado ex:apar1 esta na tabela3 apar2 esta na tabela4 apar3 esta na tabela5......ate o apar50 esta na tabela52). quero buscar todos os apar e colocar cada um deles em um <option> para que eu possa escolher um e ir para pagina onde posso alterar os dados de cada apar cada options tem o value cada um com o link diferente tipo: 1º option - completo1.php?id_apar1=".$linha1["id_apar1"]." 2º option - completo2.php?id_apar2=".$linha2["id_apar2"]." ..... ate o 50 50º option - completo50.php?id_apar50=".$linha50["id_apar50"]." t+ Compartilhar este post Link para o post Compartilhar em outros sites
JMatias 0 Denunciar post Postado Junho 10, 2010 Alguma de suas variáveis com nome de tabela ou array com o id do produto, está vazio. talvez por isso a query está ficando incompleta... E existe mesmo a necessidade de cadastrar cada "apar" em tabelas diferentes? Compartilhar este post Link para o post Compartilhar em outros sites
Denis Lins 0 Denunciar post Postado Junho 10, 2010 Cara, sinceramente não sei o que voce fez. Mas so o fato de voce ter que fazer 50 consultas ja mostra que tem alguma coisa errada. Da uma repensada em como voce vai fazer isso dai, ou posta pra galera te ajudar. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 11, 2010 Alguém fez caquinha no banco de dados... $linhas = array(); for($apar = 1, $tbl = 3; $apar < 51; $apar++, $tbl++) $linhas[] = mysql_fetch_assoc(mysql_query("SELECT `id_apar{$apar}` AS `id`, `apar{$apar}` AS `apar` FROM `tabela{$tbl}` WHERE `codigoid_apar{$apar}` = '{$linhas['codigoid_anuncia']}'")) or die(mysql_error()); var_dump($linhas); Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 11, 2010 ola fis +ou- dessa forma Evandro Oliveira, acho que estamos quase lah... olha o codigo if ($linhas["qtsApart"] == "50") { echo "<a href='completo.php?id_anuncia=".$linhas["id_anuncia"]."' title=''>".$linhas["nlocal"]."</a> <br> Selecione o que deseja visualizar: <form name='frmMudar' method='post'> <select name='sltMudar' onchange='fMudarPagina()'> <option selected>Selecione "; $acaba = 50; $linha = array(); for ($i = 1; $i <= $acaba; $i++) { $linha[] = mysql_fetch_assoc(mysql_query("SELECT * FROM anuncia_apar".$i." WHERE codigoid_apar$i='".$linhas["codigoid_anuncia"]."'")) or die(mysql_error()); echo "<option value='completo[$i].php?id_apar[$i]=".$linha["id_apart[$i]"]."'>".$linha["apar[$i]"]."</option>"; } echo "</select> </form>"; } no browser aparese o select, mais ele esta vazil ".$linha["apar[$i]"]." ---- é assim que imprimi no browser? ou esta errado ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 11, 2010 tenta só $linha[$i] Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 11, 2010 assim tb ñ deu !!!!!! esta assim echo "<option value='completo$i.php?id_apart$i=".$linha["id_apart$i"]."'>'".$linha[$i]."'</option>"; as duas $linha continua vazias ??? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 11, 2010 quando deu o var_dump, você leu a estrutura de $linha?? veja que ele é um array de arrays, assim como uma tabela. tente assim $linha[$i]['id_apart'] ou $linha[$i]['apart'] Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 11, 2010 ola eu li sim, mais ñ entendi muito bem olha esta assim array(1) { [0]=> array(15) { ["id_apart1"]=> string(2) "35" ["codigoid_apart1"]=> string(3) "242" ["apart1"]=> string(6) "gumer1" ..................... } } esses dois jeito tb ñ deu $linha[$i]['id_apart'] ou $linha[$i]['apart'] , continua vaziu.. t+ Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 11, 2010 Claro, você mexeu na query que te passei, e trocou fetch_assoc por fetch_array, aumenta demais o número de índices. coloque essas linhas aqui que você vai entender: foreach($linha as $campos) { echo '<pre class="border: 1px solid #000">'; print_r($campos); echo '</pre>'; } Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Junho 11, 2010 ola Evandro Oliveira desculpa minha ignorancia.. mais o codigo esta assim if ($linhas["qtsApars"] == "50") { echo "<a href='completo.php?id_anuncia=".$linhas["id_anuncia"]."' title=''>".$linhas["nlocal"]."</a> Selecione o que deseja visualizar: <form name='frmMudar' method='post'> <select name='sltMudar' onchange='fMudarPagina()'> <option selected>Selecione "; $acaba = 5; $linha = array(); for ($i = 1; $i <= $acaba; $i++) { $linha[] = mysql_fetch_assoc(mysql_query("SELECT * FROM `anuncia_apar{$i}` WHERE `codigoid_apar{$i}` = '{$linhas['codigoid_anuncia']}'")) or die(mysql_error()); echo "<option value='completo$i.php?id_apar$i=".$linha["id_apar$i"]."'>".$linha["apar$i"]."</option>"; } echo "</select> </form>"; } quando eu coloco o foreach, fica assim Array ( [id_apar1] => 35 [codigoid_apar1] => 242 [apar1] => gumer1 ) Array ( [id_apar1] => 35 [codigoid_apar1] => 242 [apar1] => gumer1 ) Array ( [id_apar2] => 26 [codigoid_apar2] => 242 [apar2] => gumer2 ) Array ( [id_apar1] => 35 [codigoid_apar1] => 242 [apar1] => gumer1 ) Array( [id_apar2] => 26 [codigoid_apar2] => 242 [apar2] => gumer2 )Array( [id_apar3] => 22 [codigoid_apar3] => 242 [apar3] => gumer3 )Array( [id_apar1] => 35 [codigoid_apar1] => 242 [apar1] => gumer1)Array( [id_apar2] => 26 [codigoid_apar2] => 242 [apar2] => gumer2) ......... ainda eu ñ consegui entender pq ñ aparece os apar nos options. t+ Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Junho 11, 2010 Vamos brincar diferente então: echo '<select>'; foreach($linha as $indice=>$campos) { $indice++; $id = 'id_apar' . $indice; $apar = 'apar' . $indice; echo '<option value="completo{$indice}.php?id_apar{$indice}={$linha[$id]}">{$linha[$apar]}</option>'; } echo '</select>'; Compartilhar este post Link para o post Compartilhar em outros sites