tamires 0 Denunciar post Postado Outubro 25, 2006 ola...estou com uma duvida sobre query...eh o seguinte...tenho isso daqui..<? //divide os dados do campo destinos_pac$arr = split(",", $row_rsPacote['destinos_pac']);//rsDestinos exibe destinosmysql_select_db($database_connTerras, $connTerras);foreach($arr as $num){$query_rsDestinos = "SELECT id_dest, nome_dest, descrap_dest, atrac_dest FROM terras_destino WHERE id_dest like '".$num."'";$rsDestinos = mysql_query($query_rsDestinos, $connTerras) or die(mysql_error());$row_rsDestinos = mysql_fetch_array($rsDestinos);//$totalRows_rsDestinos = mysql_num_rows($rsDestinos);}?>a query precisa ficar obrigatoriamente no topo da pagina? pq, pelo q me explicaram, esse codigo preciso deixar junto com o q desejo imprimir para o loop funcionar, so que quando coloco isso no local em que os dados serao impressos (no fim da pagina), nao funciona. e se coloco no topo da pagina, funciona.aguardo respostas gratatamires Compartilhar este post Link para o post Compartilhar em outros sites
Eduneri 0 Denunciar post Postado Outubro 25, 2006 será q num é algum problemas com essas aspas: '".$num."'";flw... Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Outubro 25, 2006 nao, as aspas e que fazem funcionar.... Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Outubro 26, 2006 ja tentei usar includes e tb n funciona...nao sei como fazer isso funcionar. Compartilhar este post Link para o post Compartilhar em outros sites
MatheusWC 0 Denunciar post Postado Outubro 26, 2006 A query tem que estar antes da função que utiliza em si a query e imprime os dados. Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Outubro 26, 2006 como assim? ela ja nao esta? Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 26, 2006 Pessoal você tem que começar entender melhor as coisas isso: $query_rsDestinos = "SELECT id_dest, nome_dest, descrap_dest, atrac_dest FROM terras_destino WHERE id_dest like '".$num."'"; é a mesma coisa que isso só que sem a concatenção e no caso nao precisa concatenar mesmo $query_rsDestinos = "SELECT id_dest, nome_dest, descrap_dest, atrac_dest FROM terras_destino WHERE id_dest like '$num'"; e outra coisa para consultas no banco de dados nao precisa de apostrofos se for campos numericos, só precisa se for string settype($num, "integer"); $query_rsDestinos = "SELECT id_dest, nome_dest, descrap_dest, atrac_dest FROM terras_destino WHERE id_dest = $num"; e outra coisa ai que nao fazeia sentido é usar o like para buscar campo id Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Outubro 26, 2006 quanto o like, eu troquei por = e deu na mesma, hehe.qto aos apostrofos, eh q qdo a gente usa variaveis tipo $_GET so funciona com apostrofos e concatenacao, nao eh? por forca do habito eu sempre ponho...mas eu tirei os apostrofos e continua na mesma, hehe. Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 26, 2006 eu só expliquei uns detalhes, mas qual sua duvida ? Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Outubro 26, 2006 bom, eh complicado mas vou tentar explicar... e um site de turismo. quando o administrador cadastra um cruzeiro, ele escolhe em um campo select multiple todos os destinos que fazem parte desse cruzeiro. qdo o cadastro vai pro banco, o campo de destinos recebe as ids desses destinos (usando implode). quando vou exibir o cruzeiro, a pagina exibe junto com os dados dele algumas informacoes dos destinos q fazem parte desse cruzeiro...so q qdo eu cadastrei o cruzeiro, so cadastrei a id, entao na pagina de exibicao eu tenho q separar de novo o campo (usei split) e coloquei esse resultado na variavel $num, que esta sendo repetida com a query ali aonde você viu... acontece que na exibicao, so consigo exibir o ultimo resultado dos destinos. exemplo: se ele tem q exibir os destinos 8, 9 e 10, ele so exibe o 10. ai pedi ajuda aqui no forum e me disseram pra fazer isso: //divide os dados do campo destinos_pac$arr = split(",", $row_rsPacote['destinos_pac']);//rsDestinos exibe destinosmysql_select_db($database_connTerras, $connTerras);foreach($arr as $num){$query_rsDestinos = "SELECT id_dest, nome_dest, descrap_dest, atrac_dest FROM terras_destino WHERE id_dest like '".$num."'";}$rsDestinos = mysql_query($query_rsDestinos, $connTerras) or die(mysql_error());$row_rsDestinos = mysql_fetch_assoc($rsDestinos);//$totalRows_rsDestinos = mysql_num_rows($rsDestinos);//daqui pra baixo e a exibcaoecho "<a href=\"destino.php?recordID=" . $row_rsDestinos['id_dest'] . ">" . $row_rsDestinos['nome_dest'] . "</a>";echo $row_rsDestinos['atrac_dest'];echo $row_rsDestinos['descrap_dest'];} assim funciona, so que a parte q exibe os destinos fica no final na pagina, entao metade do codigo tenho q por no comeco da pagina e outra no final, ai nao funciona. e se ponho td no final, nao funciona... ja tentei de tudo aqui mas nao sai, nem sei mais o que tentar.. se puder me dar uma maozinha, agradeco, hehe. :) Compartilhar este post Link para o post Compartilhar em outros sites
Fabyo 66 Denunciar post Postado Outubro 26, 2006 nao precisa colocar codigo, no começo ou no fim, você precisa colocar num lugar fazer o que precisa depois o resultado você usa as variaveis, se tiver dentro de um loop use dentro do loop, se for usar fora ,salve num array e use as pocições do array Compartilhar este post Link para o post Compartilhar em outros sites
tamires 0 Denunciar post Postado Outubro 26, 2006 por exemplo, agora estou montando assim: <? //divide os dados do campo destinos_pac$arr = split(",", $row_rsPacote['destinos_pac']);//rsDestinos exibe destinosmysql_select_db($database_connTerras, $connTerras);foreach($arr as $num){$query_rsDestinos = "SELECT id_dest, nome_dest, descrap_dest, atrac_dest FROM terras_destino WHERE id_dest like '".$num."'";}$rsDestinos = mysql_query($query_rsDestinos, $connTerras) or die(mysql_error());$row_rsDestinos = mysql_fetch_assoc($rsDestinos);//$totalRows_rsDestinos = mysql_num_rows($rsDestinos);?><?foreach ($arr as $num) {//daqui pra baixo e a exibcaoecho "<a href=\"destino.php?recordID=" . $num . ">" . $row_rsDestinos['nome_dest'] . "</a>";echo $row_rsDestinos['atrac_dest'];echo $row_rsDestinos['descrap_dest'];}?>a id funciona normal atraves da $num aqui, exibe uma de cada vez, porem, todos os outros mostram apenas o ultimo, dois dois cadastros que ele deveria mostrar, ele mostra duas vezes o ultimo... tentei colocar no 1o bloco: $nome = $row_rsDestinos['nome_dest']; e no segundo chamar pelo $nome, mas nao deu certo...depois coloquei no 2o bloco o echo $nome dentro de um for: for($i=0; $i < sizeof($nome); $i++){ echo $nome[$i];} mas ele mostrou duas vezes os dois registros juntos... Compartilhar este post Link para o post Compartilhar em outros sites