Foros del Web » Programando para Internet » PHP »

formulario, update y insert

Estas en el tema de formulario, update y insert en el foro de PHP en Foros del Web. hola: tengo un formulario en el cual el usuario tiene 20 textbox (10 para poner el nombre del trabajo y otras 10 para la fecha ...
  #1 (permalink)  
Antiguo 13/03/2008, 14:17
Avatar de destor77  
Fecha de Ingreso: noviembre-2004
Ubicación: Gálvez, Santa Fe, Argentina
Mensajes: 2.654
Antigüedad: 19 años, 6 meses
Puntos: 43
formulario, update y insert

hola:
tengo un formulario en el cual el usuario tiene 20 textbox (10 para poner el nombre del trabajo y otras 10 para la fecha de los mismos) en el cual puede editar los datos que traigo de la bd o agregar nuevos trabajos.

Código HTML:
<tr><td>&nbsp;</td><td>&nbsp;</td></tr>
	<tr>
		<?
		$sql1="SELECT * FROM experience WHERE talent_id ='$row[account_id]'";
		$result1=mysql_query($sql1);
		$job=mysql_numrows($result1);
		if ($job==0){?>
			<td>
				<? for ($i=1;$i<=10;$i++){
					echo 'Job '.$i.':<input name="employment'.$i.'" maxlength="250" id="employment'.$i.'" type="text" value="'.$jobs[job_description].'"><br>';
				} ?>
			</td>
			<td>
				<? for ($i=1;$i<=10;$i++){
					echo 'Date:<input name="empDate'.$i.'" maxlength="10" id="empDate'.$i.'" type="text" value="';
					if ($jobs[date]){
						echo $jobs[date];
					}else{
						echo 'mm/dd/yy';
					}
					echo '"><br>';
				} ?>
			</td>
		<? 			
		}
		else{
			$k=1;
			while ($jobs=mysql_fetch_array($result1)){
				echo'<tr>';
				echo '<td>Job '.$k.':<input name="employment'.$k.'" maxlength="250" id="employment'.$k.'" type="text" value="'.$jobs[job_description].'"><br></td>';
				echo '<td>Date '.$k.':<input name="empDate'.$k.'" maxlength="10" id="empDate'.$k.'" type="text" value="'.$jobs[date].'"><br></td>';				
				echo'</tr>';
				$k++;
			}
			$w=mysql_num_rows($result1)+1;
			for ($i=$w; $i<=10;$i++){
				echo "<tr><td>";
				echo 'Job '.$i.':<input name="employment'.$i.'" maxlength="250" id="employment'.$i.'" type="text" value="'.$jobs[job_description].'"><br>';
				echo "<td>";
				echo 'Date '.$i.':<input name="empDate'.$i.'" maxlength="10" id="empDate'.$i.'" type="text" value="';
					if ($jobs[date]){
						echo $jobs[date];
					}else{
						echo 'yyyy/mm/dd';
					}
					echo '"><br>';
				echo "<td>";
				echo "</td></tr>";
			}
			
		}
		//var_dump($jobs);?>
	</tr> 
el tema se me complica cuando tengo que procesar los datos del formulario, y tengo que saber si edito algún trabajo que tenia o si agrego o si hizo ambas cosas.
Yo lo estoy haciendo asi, pero no funciona bien, no me edita los viejos y me agrega mas de un trabajo nuevo si puso uno solo, el codigo es:
Código PHP:
$sq="select id, job_description from experience where talent_id=$id_recruiters[0]";
        
$res=mysql_query($sq);
        
$r=mysql_num_rows($res);
        
$row=mysql_fetch_array($res);
        if (
count($r)==1){
            
$i=1;            
            for (
$i=1;$i<=10;$i++){
                if((
trim($employment[$i])!="") and (trim($employment[$i])!=$row['job_description'])){
                    
$upexp "INSERT INTO experience (talent_id, job_description, date) VALUES
                                ($id_recruiters[0], '"
.trim($employment[$i])."', '".$employdate[$i]."')";
                    if(!
mysql_query($upexp)) {
                        echo 
$upexp;
                        
$i=11;
                    }
                }
            }
            
        }
        else {
            
$j=1;
            
$k=0;
            while (
$r=mysql_fetch_array($res)){
                    if (
$employment[$j]==$r['job_description'])
                    
$upexp ="update experience set job_description='".trim($employment[$j])."', date='".$employdate[$j]."' where talent_id=$id_recruiters[0] and id='".$r['id']."'";
                    
$j++;
                    
$k++;
                    
//echo $upexp."<br>";
                    
mysql_query($upexp);
            }
        }
        
        if(!
mysql_query($upexp)) {
            
$error=4;
            
$err=mysql_error();
        } 
espero que me puedan ayudar como siempre.

desde ya muchas gracias
  #2 (permalink)  
Antiguo 13/03/2008, 15:20
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: formulario, update y insert

Cuando imprimes los inputs, creo que tendrías que usar corchetes en los nombres de los campos:
Código PHP:
echo 'Job '.$i.':<input name="employment['.$i.']" maxlength="250" id="employment'.$i.'" type="text" value="'.$jobs[job_description].'"><br>'
Por otro lado, creo que te podría interesar la sentencia REPLACE de MySQL

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.