Comunidad de diseño web y desarrollo en internet online

Ayuda con Inserts....

Citar            
MensajeEscrito el 24 Jun 2007 06:16 pm
Como podran ver, soy nuevo en esto de las DB's, y pues ya me atore, :shock: bien, este es mi problema:
Tengo un formulario de php, cuyo numero de campos, es la canitdad de valores que tenga un select, aqui esta el codigo

Código :

 <html>
<body>
<?php


if (!$link = mysql_connect('localhost', 'TOP_SECRET, 'TOP_SECRET')) {
/* host, usuario, password */
   echo 'Algo no furula';
      exit;
}
if (!mysql_select_db('DB0103691X', $link)) {
   echo 'Algo no furula';
      exit;
}

$sql    = 'SELECT programas.cve_tema,programas.orden,programas.descripcion, avance.Cub_alumno from programas left join avance on programas.id_tema=avance.id_tema';
$result = mysql_query($sql, $link);

if (!$result) {
   echo "DB Error, could not query the database\n";
      echo 'MySQL Error: ' . mysql_error();
      exit;
}
echo "<center>";
echo "<form action='yettoknow.php' method='post'>";
echo "<table border='1'>";
echo "<tr><td>Tema</td><td>Orden</td><td>Nombre del tema</td><td>Horas Dedicadas</td></tr>";
while ($row = mysql_fetch_array($result)) {
   echo "<tr>";
   echo "<td>". $row['cve_tema']."</td>";
   echo "<td>". $row['orden']."</td>";
   echo "<td>". $row['descripcion']."</td>";
   echo "<td><input type='Text' name='Horas'  /></a></td>";
   echo "</tr>";
}

echo "</table>";
echo "</form>";
echo"<center>Escribe la cantidad de horas Que se vieron en el tema</center>";
mysql_free_result($result);

?>
</html>

Quiero INSERTAR las horas en una tabla, pero necesito insertar en una fila diferente cada vez, como logro esto?

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 24 Jun 2007 10:50 pm

Código :

$i = 0;
while ($row = mysql_fetch_array($result)) 
{
   $i++;
   echo "<tr>";
   echo "<td>". $row['cve_tema']."</td>";
   echo "<td>". $row['orden']."</td>";
   echo "<td>". $row['descripcion']."</td>";
   echo "<td><input type='Text' name='Horas_" . $i . "'  /></a></td>";
   echo "</tr>";
}


Ponle nombre dinámico a los campos. :wink:

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 24 Jun 2007 11:34 pm
Ok, gracias, lo intentare

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 12:45 am
Antes de ese detalle, DB Error, could not query the database MySQL Error: Unknown column '0103691X' in 'where clause', esto me da por que tengo un campo como tipo varchar, entonces este deberia recibir "0103691X", y solo esta recibiendo 0103691X, sin los parentesis, a alguien mas le ha pasado?

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 12:50 am

darkwing escribió:

Antes de ese detalle, DB Error, could not query the database MySQL Error: Unknown column '0103691X' in 'where clause', esto me da por que tengo un campo como tipo varchar, entonces este deberia recibir "0103691X", y solo esta recibiendo 0103691X, sin los parentesis, a alguien mas le ha pasado?

Que? :?... no entender.

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

msie
Citar            
MensajeEscrito el 25 Jun 2007 01:00 am
Mmm, a ver, yo tengo este query :
$mat=$_POST['matricula'];
$sql = "SELECT id_grupo, id_materia, id_alumno from grupo where id_alumno=".$mat;
y le mando mediante POST como matricula 0103691X, para poder hacer la comparacion de id_alumno, debe llegar como '0103691X' entre apostrofes, o comillas, y llega solamente 0103691X, entonces no lo reconoce la DB, como hago para que lo reconozca?

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 01:05 am
Solucionado, gracias, era cosa de poner puntitos.

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 01:21 am
Puntitos?... :?

Código :

$sql = "SELECT id_grupo, id_materia, id_alumno from grupo where id_alumno='".$mat."'";
 

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

msie
Citar            
MensajeEscrito el 25 Jun 2007 01:28 am
si algo asi

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 01:32 am
Ahora bien, abusando de la amabilidad de los usuarios que me contestan , tengo el siguiente problema, mysql me permite agregar campos de este tipo "OC0200-T" <-- ese es un varchar, pero al querer hacer un query con el, se come el -T, alguien sabe como sepuede solocionar esto?

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 01:42 am
Podrías poner código o algún ejemplo?

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

msie
Citar            
MensajeEscrito el 25 Jun 2007 02:15 am
(Sprry, andaba revisando unos joins, por eso no he puesto codigo)

MySQL Error: Unknown column 'OC0200' in 'where clause' bien, ese es el error, y este es el query:

Código :

$materia=$_POST['Consulta'];
$sql = 'SELECT id_grupo, id_materia, id_profesor, id_alumno from grupo where id_grupo='.$_POST['Consulta'].' or id_materia='."$materia";
$result = mysql_query($sql, $link);


SE puede pensar que es el mismo problema de hace rato, pero no, incluso con las comillas o apostrofes,s e come el -T, al ingresarle la clave 'OC0200-T'

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 25 Jun 2007 11:04 am

darkwing escribió:

MySQL Error: Unknown column 'OC0200' in 'where clause' bien, ese es el error, y este es el query:
dice que la tabla 'OC0200' no existe, me temo que será el id_materia (en realidad si es de nuevo lo de antes)

Código :

$materia=$_POST['Consulta'];
$sql = 'SELECT id_grupo, id_materia, id_profesor, id_alumno from grupo where id_grupo='.$_POST['Consulta'].' or id_materia="'.$materia.'"';
$result = mysql_query($sql, $link);

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 25 Jun 2007 02:33 pm

Código :

$materia=$_POST['Consulta'];
$sql = 'SELECT id_grupo, id_materia, id_profesor, id_alumno from grupo where id_grupo='.$_POST['Consulta'].' or id_materia='."$materia";
$result = mysql_query($sql, $link);


Para cadenas en PHP, o utilizas los apóstrofes o utilizas las comillas. en lo particular, como en SQL se utilizan los apóstrofes para comparar cadenas, pues utilizo las comillas en PHP para determinar la consulta y evitar confusiones:

Código :

$materia=$_POST["Consulta"];
$sql = "SELECT id_grupo, id_materia, id_profesor, id_alumno from grupo where id_grupo=".$_POST["Consulta"]." or id_materia='
".$materia."'";
$result = mysql_query($sql, $link);


Y efectivamente, es el mismo problema de antes, de que, debido a tu confusión con las comillas, "mal-elaboras" la cadena de consulta.

Yranac escribió:


dice que la tabla 'OC0200' no existe, me temo que será el id_materia (en realidad si es de nuevo lo de antes)


Mas bien, dice que el campo no existe. Esto es debido a que, como no tiene el formato para cadena de SQL, lo toma como un nombre de campo y lo busca como tal.

Por Darel

725 de clabLevel

5 tutoriales

 

I'm a human

firefox
Citar            
MensajeEscrito el 25 Jun 2007 08:21 pm
Ok, muchas gracias, tendré mas cuidado, ni siquiera he probado los inserts, que eran el problema inicial, jaja, gracias.

Por darkwing

6 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.