Foros del Web » Programando para Internet » PHP »

Una pequeña cuestion

Estas en el tema de Una pequeña cuestion en el foro de PHP en Foros del Web. Que onda gente del foro pues molestandolos otra vez, tengo este pequeño código para enviar datos a una tabla,aqui lo pongo pa' que lo chequns: ...
  #1 (permalink)  
Antiguo 22/03/2007, 13:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 10
Antigüedad: 17 años, 1 mes
Puntos: 0
Una pequeña cuestion

Que onda gente del foro pues molestandolos otra vez, tengo este pequeño código para enviar datos a una tabla,aqui lo pongo pa' que lo chequns:
Código PHP:
<?php 
$valores 
=$c_unidad',' $c_materia ',' $c_materiaimplode(','$_POST['pregunta']); 
$sql ="insert into encuesta(c_unidad, c_profesor, c_materia,p1,p2,p3,p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18) values($valores)"
echo 
$sql
?>
Cuando quiero cargar la página me la carga pero al final me sale esto:

Warning: implode(): Bad arguments. in c:\appserv\www\dataremoto\evaluacion.php on line 347
insert into encuesta(c_unidad, c_profesor, c_materia,p1,p2,p3,p4,p3,p4,p5,p6,p7,p8,p9,p10,p11 ,p12,p13,p14,p15,p16,p17,p18) values(,,)

Entonces lleno mi formulario y ya no sale ese mensaje sino lo del insert con los datos que voy a insertar en la tabla, me la manda como cadena y no como instrucción sql, yo pense que era por las comillas peroen varias páguinas vi que las lleva.

A que creen que se pueda deber esto.
Bueno esperando respuesta me despido, dando las gracias.
  #2 (permalink)  
Antiguo 22/03/2007, 14:44
 
Fecha de Ingreso: septiembre-2004
Mensajes: 66
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Una pequeña cuestion

muestranos el resto del codigo


aunque creo que cuando cargas la página el array $_POST['pregunta'] está vacio o no se ha asignado nada por eso te sale el error. Y cuando llenas el formulario ahora si se llena el array por eso no te vuelve a salir el error
Aqui está el uso correcto de implode

(PHP 3, PHP 4, PHP 5)
implode -- Une elementos de una matriz mediante una cadena
Descripción
string implode ( string elemento_union, array trozos )

Devuelve una cadena que contiene una representación de todos los elementos de la matriz en el mismo orden, pero con la cadena elemento_union en medio de los mismos.

Ejemplo 1. Ejemplo de implode()
<?php

$array = array('apellido', 'email', 'telefono');
$separado_por_comas = implode(",", $array);

echo $separado_por_comas; // apellido,email,telefono

?>

La otra parte de tu pregunta que si te la manda como texto y no como intrucción sql, no estoy seguro como "la mandas" en el código que nos muestras obviamente se imprime el contenido de la variable $sql (echo $sql; ) con los datos que enviaste en el formulario.

Si no estas seguro como se usa mysql mira en las faqs del foro
  #3 (permalink)  
Antiguo 22/03/2007, 20:54
 
Fecha de Ingreso: marzo-2007
Mensajes: 10
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Aquí el código

Ke onda elkronos aqui te pongo el código para que le des una chekadilla:
Este es el código de un select
Código PHP:
<select name="c_profesor" id="c_profesor" onChange="submit()"> 
          <option value="" <?php if (!(strcmp(""$_POST['c_profesor']))) {echo "SELECTED";} ?>>Seleccionar</option> 
          <?php 
do {   
?> 
          <option value="<?php echo $row_Profesores['c_profesor']?>"<?php if (!(strcmp($row_Profesores['c_profesor'], $_POST['c_profesor']))) {echo "SELECTED";} ?>><?php echo $row_Profesores['nom_profesor']?></option> 
          <?php 
} while ($row_Profesores mysql_fetch_assoc($Profesores)); 
  
$rows mysql_num_rows($Profesores); 
  if(
$rows 0) { 
      
mysql_data_seek($Profesores0); 
   
$row_Profesores mysql_fetch_assoc($Profesores); 
  } 
?> 
        </select>
Aqui el de una pregunta:
Código:
<tr>
  <td><div align="center">1</div></td>
  <td><span class="Estilo19">Durante el semester o periodo escolar, &iquest;En qu&eacute; momento entrg&oacute; el Profesor su progrma de Estudio?. La Primera Semana ( Valor de 5), en la Segunda Semana ( Valor de 4), en la Tercera Semana ( Valor de 3), despu&eacute;s de la Tercera Semana ( Valor de 2), no entreg&oacute; (Valor 1). </span></td>
  <td><input type='radio' name='pregunta[1]' value='1'></td>
  <td><input type='radio' name='pregunta[1]' value='2'></td>
  <td><input type='radio' name='pregunta[1]' value='3'></td>
  <td><input type='radio' name='pregunta[1]' value='4'></td>
  <td><input type='radio' name='pregunta[1]' value='5'></td>
</tr>
Y este en donde intento hacer la inserción a la tabla, primero lo intente con este pero me mando un error:
Código PHP:
<?php 
$valores 
=  $c_unidad ',' $c_materia ',' $c_materia.  implode(','$_POST['pregunta']);  
$sql = <<<EOF  //ESTA ES LA LINEA 349
insert into encuesta  
(c_unidadc_profesorc_materiap1p2p3p4,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18)  
values($valores)  
EOF;   
?>
y después con el otro codigo:
Código PHP:
<?php 
$valores 
=  $c_unidad ',' $c_materia ',' $c_materia.  implode(','$_POST['pregunta']);  
$sql "insert into encuesta (c_unidad, c_profesor, c_materia, p1, p2, p3, p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18)";  
echo 
$sql;  
?>
El primer código para guardar me lo recomendaron en el foro de club delphi pero me marca el error.

Espero tu ayuda
  #4 (permalink)  
Antiguo 22/03/2007, 21:47
 
Fecha de Ingreso: septiembre-2004
Mensajes: 66
Antigüedad: 19 años, 6 meses
Puntos: 0
Re: Una pequeña cuestion

Intenta esto y lee esto para guiarte http://es.tldp.org/Manuales-LuCAS/ma..._registros.htm

<?php
$valores = $c_unidad . ',' . $c_materia . ',' . $c_materia. implode(',', $_POST['pregunta']);
$sql = "insert into encuesta (c_unidad, c_profesor, c_materia, p1, p2, p3, p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17,p18 )";
mysql_query($sql);// en vez de echo, echo solo sirve para imprimir en pantalla
?>
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 18:53.