Ir para conteúdo

POWERED BY:

Arquivado

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

mcd more core

[Resolvido] [ Especial ] Upload Multiplo

Recommended Posts

Pessoal, uma dúvida da qual estou quebrando muito a cabeça.

 

Quero fazer um upload multiplo, até ai tudo OK. Porém o problema é que ele tem que ser da seguinte maneira...

 

- NOME -

- DATA -

- DATA -

- PROFESSOR -

- PROFESSOR -

- PROFESSOR -

- DESCRIÇÃO -

 

Como vocês podem ver ele não é um upload multiplo ao qual todos os campos devem ter a mesma quantidade.

Tentei fazer aqui porém eu só consigo no máximo adicionar no BD se todos os campos foram a mesma quantidade ( 2,3 ou mais ) todos as mesma quantidade, mas eu não quero isso!

 

Pois terá somente ( 1 campo NOME ) e os outros campos serão relativos de acordo minha necessidade de adicionar.

 

Posso colocar 2 datas, 5 professores, 3 descrição e por vai. Então é algo que preciso que a programação pegue esses detalhes e adicionem tudo de uma só vez no BD, e em cada linha da tabela ficará +/- assim...

 

 

>

 

Se não conseguir ver a imagem esta esta no link Abaixo

 

CLIQUE AQUI PARA VER A IMAGEM

 

 

---------------------------------------------

 

Como vocês podem ver ele registra tudo, e me lista o que informei ( 1 nome, 2 datas, 3 professores, 1 descrição ) assim eu posso chamar por um GROUP BY e pegar todas as infor que preciso.

 

Vejá o meu código atual que estou fazendo porém só funciona com a mesma quantidade de campos.

 


######### FORM ###########

<form action="teste.php" method="post">
<b>nome</b><br />
<input type="text" name="nome" size="5"/><br />

<input type="submit" value="OK"/>
</form>
<?php 


$nome = (isset($_POST['nome']) && is_int(intval($_POST['nome']))) ? (int)$_POST['nome'] : 5; 

echo '<form action="teste2.php" method="POST" >'; 
echo '<b>Envio</b><br />'; 

for($i = 1; $i <= $nome; ++$i) 
{ 
   echo 'Foto #' . $i . ': <input type="text" name="data[]" value=""/><br/>'; 
} 

for($i = 1; $i <= $nome; ++$i) 
{ 
   echo 'Nome #' . $i . ': <input type="text" name="nome[]" value=""/><br/>'; 
} 

for($i = 1; $i <= $nome; ++$i) 
{ 

echo 'FUNFAR #' . $i . ': <input type="text" name="funfar[]" value="funfar"/><br/>'; 
}


echo '<br /><input type="submit" value="ENVIAR"/>'; 
echo '</form>'; 
?>

 

---

 

######### FUNÇÃO ENVIAR #########

<?php
include"config/conexao.php";

foreach($_POST["funfar"] as $key => $error){

if($error == UPLOAD_ERR_OK){

$nome=$_POST['nome'][$key];
$data=$_POST['data'][$key];


$sql=mysql_query("insert into teste (nome,data) values('$nome','$data')");	 

}}
echo"OK";
?>

 

 

 

Se alguem tiver uma solução que possa me ajudar sobre isso agradeço!

Aguardo galera pela força ai!

 

B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você pode enviar um item por vez !!

 

só iteração cada elemento:

 

//Exemplo.
foreach($_POST["data"] as $key => $error){
  //faz o q quiser aqui
 // if($error == UPLOAD_ERR_OK)
}
foreach($_POST["nome"] as $key => $error){
 //faz o q quiser aqui
 // if($error == UPLOAD_ERR_OK)
}
foreach($_POST["funfar"] as $key => $error){
 //faz o q quiser aqui
 // if($error == UPLOAD_ERR_OK)
}

 

Se não for isso, me explique corretamente pois ficou meio vaga a explicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentei assim também, porém não vai!

 

Veja...

 

Terei ( 1 CAMPO - NOME ) por padrão.

Os outros campos eu irei fazer um LOOP em jQuery, para multiplicar, sendo que posso colocar ( 3 CAMPOS - DATA ) e ( 2 CAMPOS - PROFESSOR )

 

ao qual ficaria assim...

no form ( input type.. )

 

- NOME

 

- DATA

- DATA

- DATA

 

- PROFESSOR

- PROFESSOR

 

( ENVIAR )

 

Esses campos teria de ser inseridos de uma só vez no banco de dados.

 

Porém no arquivo que informei acima, ele só ADD no BD se todos os campos do FORM forem a mesma quantidade, e não é isso que quero, pois nao sei qual a quantidade que irei colocar a cada campo informado, que pode variar como mostrei no exemplo acima!

 

Alguem mais ai tem alguma dica, solução para isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Que vai ser resolvido com isso ? Qual a função desse cadastro ?

 

Pelo que vi no seu CÓDIGO só é adicionado ao banco quando tem arquivo incluso.

 

Você está querendo adicionar um NOME

 

DATAS e PROFESSORES

 

$sql = mysql_query("insert into teste (nome,data) values('$nome','$data')"); 

 

Se você conseguir passar o que está tentando realizar com esse código podemos lhe ajudar mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que consegui resolver com a dica do Brow ai acima.

 

como ele me disse...

 

foreach($_POST["nome"] as $key => $error){

$nome=$_POST['nome'][$key];

$sql=mysql_query("insert into teste(nome) values('$nome')");	 
}

foreach($_POST["data"] as $key => $error){

$data=$_POST['data'][$key];

$sql=mysql_query("insert into teste (data) values('$data')");	 
}

 

 

Fazendo um cadatro para cada CAMPO, eu consigo fazer tudo de uma só vez, e separar cada campo com sua quantidade informada anterior.

Fiz um teste aqui e consegui fazer o que queria com esse dica dele.

 

Se alguem tiver alguma outra dica ou alguma outra forma de fazer isso, fico no aguardo para assim ter uma outra base de como fazer isso.

 

Valeu!

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.