Foros del Web » Programando para Internet » PHP »

MySQL

Estas en el tema de MySQL en el foro de PHP en Foros del Web. Buenas! En mi pagina web, para modificar un registro, tienes que elegir primero que campo modificar, he creado un menu SELECT, con los values de ...
  #1 (permalink)  
Antiguo 12/04/2008, 12:42
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Exclamación MySQL

Buenas!

En mi pagina web, para modificar un registro, tienes que elegir primero que campo modificar, he creado un menu SELECT, con los values de nombre del campo y no me funciona!

Vean el codigo

modifica.php
Código PHP:
<?
//Conexion con la base
mysql_connect("****""****""****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());

//Ejecutamos la sentencia SQL
$result=mysql_query("select * from dades");
?>
  </p>
   <TABLE BORDER="0" CELLSPACING="3" CELLPADDING="3" align="center" >
      <TR><TD class="textgran_taronja" align="center">Nom</TD> 
      <TD class="textgran_verd" align="center">Llinatges</TD>
      <TD class="textgran_taronja" align="center">Adreça</td>
      <TD class="textgran_verd" align="center">Telefon</td>
      <TD class="textgran_taronja" align="center">Mobil</td>
      <TD class="textgran_verd" align="center">e-Mail</td>
      <TD class="textgran_taronja" align="center">Instrument</td>
      <TD class="textgran_verd" align="center">Curs</td>
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo 
'<tr><td><span class="textgran_verd">'.$row["nom"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["llinatges"].'</span></td>';
echo 
'<td><span class="textgran_verd">'.$row["adresa"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["telefon"].'</span></td>';
echo 
'<td><span class="textgran_verd">'.$row["mobil"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["email"].'</span></td>';
echo 
'<td><span class="textgran_verd">'.$row["instrument"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["curs"].'</span></td></tr>';


}
mysql_free_result($result)
?>
</table>
  </p>
<div align="center">
<form action="modifica2.php" method="get">
<p class="textnormal_taronja">&nbsp;</p>
<p class="textnormal_taronja">
  <label></label>
</p>
<table width="305" height="83" border="0">
  <tr>
    <td><span class="textnormal_taronja">Nom:</span></td>
    <td><span class="textnormal_taronja">
      <input type="text" name="nom" class="textnormal_verd" />
    </span></td>
  </tr>
  <tr>
    <td><span class="textnormal_taronja">Vols modificar:
        <label> </label>
    </span></td>
    <td><span class="textnormal_taronja">
      <select name="camp" class="textnormal_verd" id="camp">
        <option value="nom">Nom</option>
        <option value="llinatges">Llinatges</option>
        <option value="adresa">Adreça</option>
        <option value="telefon">Telèfon</option>
        <option value="mobil">Mòbil</option>
        <option value="email">e-Mail</option>
        <option value="instrument">Instrument</option>
        <option value="curs">Curs</option>
      </select>
    </span></td>
  </tr>
  <tr>
    <td><span class="textnormal_taronja">Ho modifiques per: </span></td>
    <td><span class="textnormal_taronja">
      <input name="modificat" type="text" class="textnormal_verd" id="modificat" />
    </span></td>
  </tr>
</table>
<p class="textnormal_taronja"><br>
  <INPUT TYPE="SUBMIT" value="Modifica">
</p>
</FORM>
</p>
</div>
modifica2.php
Código PHP:
  <?
//Conexion con la base
mysql_connect("****""****""****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());

$nom=$_GET['nom'];
$camp=$_GET['camp'];
$modificat=$_GET['modificat'];


mysql_query("UPDATE FROM dades SET '$camp'='$modificat' WHERE nom='$nom'");
?>

<?
//Ejecutamos la sentencia SQL
$result=mysql_query("select * from dades");
?>
<TABLE BORDER="0" CELLSPACING="3" CELLPADDING="3" align="center" >
      <TR><TD class="textgran_taronja" align="center">Nom</TD> 
      <TD class="textgran_verd" align="center">Llinatges</TD>
      <TD class="textgran_taronja" align="center">Adreça</td>
      <TD class="textgran_verd" align="center">Telefon</td>
      <TD class="textgran_taronja" align="center">Mobil</td>
      <TD class="textgran_verd" align="center">e-Mail</td>
      <TD class="textgran_taronja" align="center">Instrument</td>
      <TD class="textgran_verd" align="center">Curs</td>
<?
//Mostramos los registros
while ($row=mysql_fetch_array($result))
{
echo 
'<tr><td><span class="textgran_verd">'.$row["nom"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["llinatges"].'</span></td>';
echo 
'<td><span class="textgran_verd">'.$row["adresa"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["telefon"].'</span></td>';
echo 
'<td><span class="textgran_verd">'.$row["mobil"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["email"].'</span></td>';
echo 
'<td><span class="textgran_verd">'.$row["instrument"].'</span></td>';
echo 
'<td><span class="textgran_taronja">'.$row["curs"].'</span></td></tr>';


}
mysql_free_result($result)
?>
p.d: he cambiado las comillas de SET '$camp' , las he puesto, y las he quitado, y con ninguno de los dos funciona
  #2 (permalink)  
Antiguo 12/04/2008, 12:55
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: MySQL

la consulta parece correcto, eso si... quita las comillas de '$camp' de ahi en fuera esta bien, pero...

si no me equivoco $nom deberias usarlo como identificador del campo a modificar... no??
tambien seria bueno saber, que $nom realmente sea una fila existente para asi ACTUALIZARLA


¿no te sale algun error o algo mas??
  #3 (permalink)  
Antiguo 12/04/2008, 13:05
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
De acuerdo Re: MySQL

Hagalo asi como hizo el WHERE;

$camp no puede tener comillas porque es el nombre de la variable

UPDATE FROM dades SET $camp='$modificat' WHERE nom='$nom'

Se que funcionara!!! Suerte
  #4 (permalink)  
Antiguo 13/04/2008, 04:02
Avatar de joanfont  
Fecha de Ingreso: marzo-2008
Ubicación: 127.0.0.1
Mensajes: 66
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: MySQL

Lo he cambiado todo lo que me habeis dicho i en la url me pone
Código PHP:
www.paginaweb.com/modifica2.php?id=4&camp=curs&modificat=4rt 
He cambiado el nom, por id, porque hay nombres iwales

y sigue sin funcionar

gracias
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 15:39.