Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

11closed

uso do for

Recommended Posts

ola

coloquei dessa forma, deu esse erro.

 

Warning: Invalid argument supplied for foreach() in D:\wamp\www\localfasil\logar\completo.php on line 359

 

 

obs: meu BD é assim

TABELAS ----------------CAMPOS

anuncia_apar1---------id_apar1, codigoid_apar1, apar1

anuncia_apar2---------id_apar2, codigoid_apar2, apar2

anuncia_apar3---------id_apar3, codigoid_apar3, apar3

anuncia_apar4---------id_apar4, codigoid_apar4, apar4

.......etc, ate o 50------ate o 50,----- ate o 50-----, -- ate o 50

 

e essa parte value='completo$i.php, tem a completo1.php, completo2.php, completo3.php, completo4.php..

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste a linha 359 e me diga que alterações você já fez no código.

 

Impossível o pedaço anterior funcionar e o pedaço atual dar erro de argumento inválido, com o mesmo procedimento e a mesma variável.

 

e troque:

 

echo '<option value="completo{$indice}.php?id_apar{$indice}={$linha[$id]}">{$linha[$apar]}</option>';

 

por

 

echo '<option value="completo{$indice}.php?id_apar{$indice}={$campos[$id]}">{$campos[$apar]}</option>';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente amigo acho que o maior problema seu é a sua estrutura de tabelas. Se tiver como diz ai a sua ideia, o que você está tentando criar exatamente, pois, realmente acho que se você normalizar essa tabela e diminuir as tabelas facilitará sua busca e tornará seu sistema mais rapido também.

Aguardo!

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola Evandro Oliveira, agora o erro saiu...

olha o codigo esta assim

if ($linhas["qtsApar"] == "50") {
   	echo '<select>';
   	foreach($linha as $indice=>$campos) {	
        $indice++;	
        $id = 'id_apar' . $indice;	
        $apar = 'apar' . $indice;	
        echo '<option value="completo{$indice}.php?id_apar{$indice}={$campos[$id]}">{$campos[$apar]}</option>';
   	}
   	echo '</select>';
      }

está correto neh ? Agora ñ esta enviando nenhum erro, mais os Opstions continuam vazios.

 

ola Weudes, cara varias pessoas me deram essa msm dica (obrigado), mais tentei mudar o modo de tratar minha estrutura do BD, ñ achei uma forma mais pratica para isso

tipo olha, meu BD esta assim, cada apar tem varios Campos assim

TABELAS ----------------CAMPOS

anuncia_apar1---------id_apar1, codigoid_apar1, apar1, outrocampo1, outrocampo1, outrocampo1, ...

anuncia_apar2---------id_apar2, codigoid_apar2, apar2, outrocampo2, outrocampo2, outrocampo2, ...

anuncia_apar3---------id_apar3, codigoid_apar3, apar3, outrocampo3, outrocampo3, outrocampo3, ...

anuncia_apar4---------id_apar4, codigoid_apar4, apar4, outrocampo4, outrocampo4, outrocampo4, ...

 

esses outrocampos são todos relacionados com cada tal apar1, 2, 3...

se eu fizesse apenas uma tabela para tudo seria uma tabela com muitos, muitos msm Campos

TABELAS ----------------CAMPOS

anuncia_apar---------id_apar1, codigoid_apar1, apar1, outrocampo1, outrocampo1, outrocampo1, ...id_apar2, codigoid_apar2, apar2, outrocampo2, outrocampo2, outrocampo2, ...id_apar3, codigoid_apar3, apar3, outrocampo3, outrocampo3, outrocampo3, ... codigoid_apar4, apar4, outrocampo4, outrocampo4, outrocampo4, ...

 

bom é isso, ñ sou experiente no assunto, se alguem tiver um modo mais pratico para a estrutura das tabelas por favor seria uma bençoa.

esse campo codigoid_apar1, 2, 3... é o campo que se relaciona as tabelas.oK

 

obrigado t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola Evandro Oliveira

 

assim ?

 

<?php 
session_start();
include("../includes/config.php"); 
error_reporting(E_ERROR | E_WARNING | E_PARSE);
header('Content-type:text/html; charset=utf-8', true);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url="http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"]http-~~-//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="[url="http-~~-//www.w3.org/1999/xhtml"]http-~~-//www.w3.org/1999/xhtml[/url]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> .: Painel do administrador :. </title>
<script src="scripts/scripts.js" type="text/javascript"></script>
<link rel='stylesheet' type='text/css' href='estilos/estilo.css'>
</head>

<body>
<div id="painel">
<?php 
include("logado_topo.php");
include("logado_menue.php");
?>
<div id="centro">
 <?php
 #Conexão BD

  $grava = isset($_GET['id_anuncia']) ? $_GET['id_anuncia'] : null; 
  $sql = "SELECT * FROM ".$tabela1." WHERE id_anuncia='".$grava."'";
  $query = mysql_query($sql)or die(mysql_error());
  #loop
   while($linhas = mysql_fetch_array($query)) {
    if ($linhas["parts"] == "part" ) {


     if ($linhas["qtspart"] == "50") {
      echo '<select>';
      foreach($linha as $indice=>$campos) {	
       $indice++;	
       $id = 'id_apar' . $indice;	
       $apar = 'apar' . $indice;	
       echo '<option value="completo{$indice}.php?id_apar{$indice}={$campos[$id]}">{$campos[$apar]}</option>';
      }
      echo '</select>';
     }
     echo "coluna Geral";

    }
   }
 ?>

</div>
</div>
</body>
</html>

 

 

 

 

era assim que você pedio ?

 

t+

 

ola galera

 

estava dano esse erro

 

Warning: Invalid argument supplied for foreach() in D:\wamp\www.....completo.php on line 36

 

a linha 36 é essa

foreach($linha as $indice=>$campos) {

troquei para

foreach($linhas as $indice=>$campos) {

certo ??

 

fis um teste de debug para tentar descobrir o que esta acontecendo

olha o codigo fico assim

if ($linhas["qtspart"] == "50") {
       //echo '<select>';
       foreach($linha as $indice=>$campos) {	
        $indice++;	
        $id = 'id_apar' . $indice;	
        $apar = 'apar' . $indice;	
        //echo '<option value="completo{$indice}.php?id_apar{$indice}={$campos[$id]}">{$campos[$apar]}</option>';
        echo "completo".$indice.".php?id_apar".$indice."=".$campos[$id]." <br/> ".$campos[$apar]."<br/>";
       }
       //echo '</select>';
      }
o resutado foi...

 

completo1.php?id_apar1=5 
5
completoid_anuncib.php?id_aparid_anuncib=5 
5
completo2.php?id_apar2=2 
2
completocodigoid_anuncib.php?id_aparcodigoid_anuncib=2 
2
completo3.php?id_apar3=P 
P
completonlocam.php?id_aparnlocam=P 
P
completo4.php?id_apar4=g 
g
completonomeurm.php?id_aparnomeurm=g 
g
completo5.php?id_apar5=A 
A
completoimovem.php?id_aparimovem=A 
A
completo6.php?id_apar6=T 
T
completoAnuncioTipp.php?id_aparAnuncioTipp=T 
T
completo7.php?id_apar7=5 
5
completoqtsApart.php?id_aparqtspart=5 
5
completo8.php?id_apar8=0 
0
completoqtschalet.php?id_aparqtschalet=0 
0
completo9.php?id_apar9=0 
0
completoqtsFlatt.php?id_aparqtsFlatt=0 
0
completo10.php?id_apar10=0 
0
completoqtsKitnett.php?id_aparqtsKitnett=0 
0
completo11.php?id_apar11=0 
0
completoqtsLoftt.php?id_aparqtsLoftt=0 
0
completo12.php?id_apar12=0 
0
completoqtsQuartot.php?id_aparqtsQuartot=0 
0
completo13.php?id_apar13=0 
0
completoqtsQuiosquet.php?id_aparqtsQuiosquet=0 
0
completo14.php?id_apar14=B 
B
completoPaiset.php?id_aparPaiset=B 
B
completo15.php?id_apar15=S 
S
completoEstadot.php?id_aparEstadot=S 
S
completo16.php?id_apar16=D 
D
completoCidadf.php?id_aparCidadf=D 
D
completo17.php?id_apar17=m 
m
completobairrp.php?id_aparbairrp=m 
m
completo18.php?id_apar18=C 
C
completoenderecp.php?id_aparenderecp=C 
C
completo19.php?id_apar19=1 
1
completoceq.php?id_aparceq=1 
1
completo20.php?id_apar20= 

completomapb.php?id_aparmapb= 

completo21.php?id_apar21= 

completolatitudf.php?id_aparlatitudf= 

completo22.php?id_apar22= 

completologitudf.php?id_aparlogitudf= 

completo23.php?id_apar23=0 
0
completoDatacadastrp.php?id_aparDatacadastrp=0 
0
completo24.php?id_apar24= 

completoDataPagamentp.php?id_aparDataPagamentp= 

completo25.php?id_apar25= 

completoDataVencimentp.php?id_aparDataVencimentp= 

completo26.php?id_apar26=3 
3
completovalos.php?id_aparvalos=3 
3
completo27.php?id_apar27=C 
C
completoFormapah.php?id_aparFormapah=C 
C
completo28.php?id_apar28=N 
N
completoliberadp.php?id_aparliberadp=N 
N

 

 

que locura ñ .... alguem pode me ajudar a arrumar.. pois eu ñ estou entendendo..

 

HeLp - Me

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

anuncia_apar1---------id_apar1, codigoid_apar1, apar1, outrocampo1, outrocampo1, outrocampo1, ...

anuncia_apar2---------id_apar2, codigoid_apar2, apar2, outrocampo2, outrocampo2, outrocampo2, ...

anuncia_apar3---------id_apar3, codigoid_apar3, apar3, outrocampo3, outrocampo3, outrocampo3, ...

anuncia_apar4---------id_apar4, codigoid_apar4, apar4, outrocampo4, outrocampo4, outrocampo4

Nota que você tem um padrão, e um índice???

 

porque não:

 

indice | anuncia | id | codigo | apar | outrocampo | outrocampo | outrocampo

??????

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola Evandro Oliveira

 

decha eu ver se eu entendi, seria assim ?

 

TABELA --- Anuncia_Apar

1º loop

CAMPOS -------------- como ser preenchidos

indice ------------------ 1

anuncia --------------- ñ entendi porque desse campo ???

id_apar --------------- 1

codigo_id_apar ----- (ex:) 200

apar ------------------- parte1

outroscampos -------------------------------------

...

2º loop

CAMPOS -------------- como ser preenchidos

indice ------------------ 2

anuncia --------------- ñ entendi porque desse campo ???

id_apar --------------- 2

codigo_id_apar ----- (ex:) 200

apar ------------------- parte2

outroscampos -------------------------------------

...

...

ate o Loop 50, Ex: nesse caso cadastraria 50 dados em uma tabela de uma vez so neh...

 

por favor me corrija se eu estiver errado....

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites


<select name='frmMudar' method='post'>

<?php

 

for($i=1,$j=3;$i<=50;$i++,$j++)

{

 

$sql = mysql_query("SELECT * FROM $tabela$j WHERE codigoid_apar$i=$linhas['codigoid_anuncia']");

$con = mysql_fetch_array($sql);

$idapar = $con['idapar$i'];

?>

<option value="completo<?=$i?>.php?id_apar<?=$i?>=<?=$idapar?>" >NOME</option>

<?php

 

}

 

?>

</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ola

 

obrigado root_ dessa form deu certinho...

 

Evandro Oliveira fis um teste e criei uma tabela tipo essa que você citou, e acho que desse forma dah certo cara OBRIGADOO, nossa agora sim obd ficara mais leve vlw msm, Evandro Oliveira tirou um peso da minha costa...

 

lah na pagina dos cadastros, no for dexei assim

$apar1 = $_POST["apart"]; $apar2 = $_POST["apar2"]; // .... continuaaaa
for($i=1;$i<=50;$i++){
      $anuncio = "anuncio $i";
      $inseri = "INSERT INTO $tabela53  (indice, anunciando, codigo_id_apar, nome_apar) VALUES ('$i', '$anunciando', '$codigo_id_apar', '$apar[$i]')";
      $query = mysql_query($inseri)or die(mysql_error());
 	}

ali em $inserir no values $apar[$i] esta enviando para o BD vazio

como devo colocar ?

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer dizer o conteudo do $apar1 e $apar2 ...............

 

o conteudo é um tipo de NOME para cada apar, que sera preenchido na pagina de cadastro

aqui é os input

<li id="apar1" style="display:none;">Nome do Apar 1*:<input type="text" name="apar1" /></li>
<li id="apar2" style="display:none;">Nome do Apar 2*:<input type="text" name="apar2" /></li>
................................................

$apar não existe

 

as variaveis são essas.

$apar1 = $_POST["apar1"]; $apar2 = $_POST["apar2"]; //continua ate 50

quero saber como usalas dentro do for

 

entendeu ??

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.