Bom é o seguinte, estou fazendo um sistema e contém um sistema de upload para usuário especifico assim utilizei um ListBox e nele recupero do banco os clientes. Até aí tudo bem está funcionando, aí vem o problema, eu uso 3 tabelas no banco - usuarios - arquivos - distribuicao primeira dúvida: como eu recupero o cpf a partir do nome que lista no ListBox (segue abaixo), pois o cpf é a chave primaria de usuarios e chave estrangeira em distribuicao. segunda dúvida: como eu poderia fazer essa ligação entre as duas tabelas, para que quando eu consulta-se o cliente especifico eu saber qual arquivo é dele. upload.php <form id="uploadDoc" name="uploadDoc" method="post" action="functionUpload.php?funcao=upload" enctype="multipart/form-data">
<table width="70%" border="0" align="center">
<tr>
<td width="30%" align="right">Cliente:</td>
<td width="70%" align="left">
<select name="listaClientes" id="listaClientes">
<option selected="selected">Selecione</option>
<?php do { ?>
<option value="list"><?php echo $row_buscaUp['nome']; ?></option>
<?php } while ($row_buscaUp = mysql_fetch_assoc($buscaUp)); ?>
</select>
</td>
</tr>
<tr>
<td width="30%" align="right">CPF:</td>
<td width="70%" align="left"><?php ?></td>
</tr>
<tr>
<td width="30%" align="right">Descrição:</td>
<td width="70%" align="left"><input name="descricao" type="text" id="descricao" size="40" /></td>
</tr>
<tr>
<td align="right">Selecione o arquivo:</td>
<td align="left"><label for="arquivo"></label>
<input type="file" name="arquivo" id="arquivo" size="40 "/></td>
</tr>
<tr>
<td align="left"><input type="submit" name="enviar" id="enviar" value="Enviar" /></td>
</tr>
</table>
</form>
funcao_upload.php
<?php
require_once('../Connections/conexao.php');
$descricao = $_POST['descricao'];
if($_GET['funcao'] == "upload" && is_file($_FILES['arquivo']['tmp_name'])){
$doc = $_FILES['arquivo']['name'];
$doc = str_replace(" ", "_", $doc);
$doc = str_replace("ã", "a", $doc);
$doc = str_replace("á", "a", $doc);
$doc = str_replace("à", "a", $doc);
$doc = str_replace("é", "e", $doc);
$doc = str_replace("ê", "e", $doc);
$doc = str_replace("è", "e", $doc);
$doc = str_replace("í", "i", $doc);
$doc = str_replace("ì", "i", $doc);
$doc = str_replace("ó", "o", $doc);
$doc = str_replace("õ", "o", $doc);
$doc = str_replace("ç", "c", $doc);
$doc = strtolower($doc);
if(!eregi("^document\/(doc|docx|rtf|xls|pdf)$", $_FILES['arquivo']['type'])){
echo "<META HTTP-EQUIV=REFRESH CONTENT='0; URL=uploadDocs.php'>
<script type=\"text/javascript\">
alert(\"Formato inválido\");
</script>";
}else{
if(file_exists("docs/$doc")){
$a = 1;
while(file_exists("docs/[$a]$doc")){
$a++;
}
$doc = "[".$a."]".$doc;
}
if(!move_uploaded_file($_FILES['arquivo']['tmp_name'], "docs/".$doc)){
echo "
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=uploadDocs.php'>
<script type=\"text/javascript\">
alert(\"Erro ao enviar o arquivo.\");
</script>
";
}
}
$sql = "INSERT INTO arquivos (idarq,caminho,descricao) VALUES ('','$doc','$descricao')";
$upload = mysql_query($sql, $conexao) or die(mysql_error());
header("Location: uploadDocs.php");
}
?> outra coisa, estou com um problema no eregi, na comparação quando entra no if só inseri o caminho no banco e não coloca o arquivo na pasta. Se alguém puder ajudar ou souber uma maneira mais fácil de resolver eu agradeço