Ayuda programacion php

Ayuda programacion php

de Juan Carlos -
Número de respuestas: 15
triste hola que tal, les escribo porque necesito ayuda con php..estoy metiendome con este lenguaje y decidí para empezar hacer una encuesta, alli me traigo las preguntas de la base de datos y a cada pregunta le asigno como nombre el id que tiene en la tabla de la BD:
<?php

include_once 'conexion.php';

  $buscar = "select * from preguntas order by idpregunta limit 0,9";
  $buscar2 = "select * from preguntas order by idpregunta limit 10,16";
//   $buscar3 = "select idpregunta, pregunta from preguntas order by idpregunta limit 16,19";
  $resultado = mysql_query($buscar,conexion());
  $resultado2 = mysql_query($buscar2,conexion());
//   $resultado3 = mysql_query($buscar3,conexion());


//Funcion para crear radio botones autmoticamente
function crear_radio($name,$id){
  $value = array("B","M","A");
     foreach($value as $value){
        echo "<td align='center'>\n";
        echo "<INPUT type='radio' name='$name' value='$value' id='$id'>\n";
        echo "</td>\n";
        }
    }
//funcion para crear tablas
Function crear_tabla($titulo){
         echo "<TABLE border='1' align='center' width='65%' bordercolor='navy'>\n";
         echo "<TR bgcolor='silver'>\n";
         echo "<TH align='left' width='65%' colspan='4'>$titulo</TH>\n";
         echo "</TH>\n";
         echo "<TR>\n";
         echo "<TD align='center'>Niveles</TD>\n";
         echo "<TD align='center'>Bajo</TD>\n";
         echo "<TD align='center'>Medio</TD>\n";
         echo "<TD align='center'>Alto</TD>\n";
         echo "</TR>\n";
         echo "<br>";     
}
//funcion para mostrar lo contenido en base de datos
function mostrar_resultado($sql){
while($row=mysql_fetch_array($sql)){
        echo "<TR>\n";
        //echo "<TD>".$row["idpregunta"]."</TD>\n";
        echo "<TD>".$row["pregunta"]."</TD>\n";
        crear_radio($row['idpregunta'],$row['idpregunta']);
   
       }

}
crear_tabla("III.Niveles de Experticia");
mostrar_resultado($resultado);

crear_tabla("IV.Preferencias");
mostrar_resultado($resultado2);

?>
ahora se crean unos radio botones que deberian ir a una tabla respuestas con el id del participante, el id de la pregunta y la opcion elegida pero no lo he podido hacer, la verdad no me ha resultado nada de lo que he hecho...alguno puede ayudarme con esto.
Gracias
Promedio de valoraciones: -
En respuesta a Juan Carlos

Re: Ayuda programacion php

de Pedro Ramos -
Hola Juan carlos.

He pobado tu ejemplo y a mi ya si que me sale.
Lo unico que he cambiado ha sido la conexión a la base de datos y por su puesto me cree una base de datos con la tabla preguntas..
Lo unico que he cambiado de tu script va en negrita.

require_once("'conexion.php");
  $buscar = "select * from preguntas order by idpregunta limit 0,9";
  $buscar2 = "select * from preguntas order by idpregunta limit 10,16";
//   $buscar3 = "select idpregunta, pregunta from preguntas order by idpregunta limit 16,19";
  $resultado = mysql_query($buscar,$Conn);
  $resultado2 = mysql_query($buscar2,$Conn);
//   $resultado3 = mysql_query($buscar3,$Conn);

donde $Conn es la variable que contiene la identificador de conexión a la ba se de datos.

Te paso todo tu ejemplo funcionando, incluyo la base de datos en un fichero de texto plano .sql con la base de datos llamada "prueba" que me he creado.

En el zip que te mando va un fichero para la conexion a la base de datos (conexion.php), la base de datos en (prueba.sql) y tu fichero php que se llama p.php.

Espero que te salga, ya nos dirás.. .... Saludos.
En respuesta a Pedro Ramos

Re: Ayuda programacion php

de Daniela Vielma -
Hola, yo también me encuentro haciendo una encuesta para porder evaluar el trabajo colaborativo, he avanzado algo, pero no sé como ponerla en función, me pueden más menos dar los pasos a seguir para poner una encuesta en funcionamiento.

Gracias
En respuesta a Pedro Ramos

Re: Ayuda programacion php

de Daniela Vielma -
Hola Pedro, yo estaba también en busca de algo asi, soy principiante aun en moodle y ejecute tu código y resulta eso:

\n"; echo "\n"; echo "\n"; } } //funcion para crear tablas Function crear_tabla($titulo){ echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"; } //funcion para mostrar lo contenido en base de datos function mostrar_resultado($sql){ while($row=mysql_fetch_array($sql)){ echo "\n"; //echo "\n"; echo "\n"; crear_radio($row['idpregunta'],$row['idpregunta']); } } crear_tabla("III.Niveles de Experticia"); mostrar_resultado($resultado); crear_tabla("IV.Preferencias"); mostrar_resultado($resultado2); ?>

$titulo
NivelesBajoMedioAlto
".$row["idpregunta"]."".$row['pregunta']."

Me podrías ayudar por favor, realmente soy nueva en esto y requiero una ayudita

En respuesta a Daniela Vielma

Re: Ayuda programacion php

de Pilar Garcia Garcia -

Hola a todos tengo un probrema con las tablas de Php resulta que tengo hecho una página con dreamveaver en la que tengo botones que me tienen que llevar a la pagina de php en la cual se me tiene que mostrar una tabla echa con la conexion odbc y lo que me sale en la pagina al conectar es esto: "; ECHO ""$Nombre""; ECHO ""$Apellidos""; ECHO ""$Ciudad""; ECHO ""$CP""; ECHO ""$Nacionalidad""; ECHO ""$Sueldo""; ECHO ""$Titulacion""; }; odbc_close ($conexion); ECHO ""; ?>

Os mando mi código junto com mi base de datos.

<html>
<head>
       <title>EMPLEADOS</title>
</head>
<body BACKGROUND=" C:\Pilar\PROYECTO\PHP Coder\IMAGEN\EMPLEADOS.GIG">
<p align="center"><img src="IMAGEN/EMPLEADOS.gif" width="468" height="60"></p>

  <?
$conexion=odbc_connect('Spectrum','','');
IF(!$conexion){
Exit("Imposible conectar con la base de datos");
}
$SQL="Select * From Empleados";
$Resultado=odbc_exec($conexion,$SQL);
IF(!$Resultado){
Exit("Imposible conectar con la tabla");
}
ECHO  "<TABLE WIDTH=300 BORDER=2 ALING=CENTER BGCOLOR='#000000'><TR>";
ECHO  "<TH BGCOLOR='#0066FF'FONT  SIZE=5 COLOR='#FF0000'FACE='ARIAL'>DNI</TH></FONT>";
ECHO  "<TH BGCOLOR='#0066FF' FONT SIZE=5 COLOR='#FF0000' FACE='ARIAL'>Nombre</TH></FONT>";
ECHO  "<TH BGCLOR=/#0066FF'FONT SIZE=5 COLOR='#FF0000' FACE='ARIAL'>Apellidos</TH></FONT>";
ECHO  "<TH BGCOLOR='#0066FF'FONT SIZE=5 COLOR='#FF0000'FACE='ARIAL'>Ciudad</TH></FONT>";
ECHO  "<TH BGCOLOR='#0066FF'FONT SIZE=5 COLOR='#FF0000'FACE='ARIAL'>CP</TH></FONT>";
ECHO  "<TH BGCOLOR='#0066FF'FONT SIZE=5  COLOR='#FF0000'FACE='ARIAL'>Nacionalidad</TH></FONT>";
ECHO  "<TH BGCOLOR='#0066FF'FONT SIZE=5  COLOR='#FF0000'FACE='ARIAL'>Sueldo</TH></FONT>";
ECHO  "<TH BGCOLOR='#0066FF'FONT SIZE=5 COLOR='#FF0000' FACE='ARIAL'>Titulación</TH></TR></FONT>";

WHILE (odbc_fetch_row ($Resultado))
{
$DNI=odbc_result($Resultado,"DNI");
$Nombre=odbc_result($Resultado,"Nombre");
$Apellidos=odbc_result($Resultado,"Apellidos");
$Ciudad=odbc_result($Resultado,"Ciudad");
$CP=odbc_result($Resultado,"CP");
$Nacionalidad=odbc_result($Resultado,"Nacionalidad");
$Sueldo=odbc_result($Resultado,"Sueldo");
$Titulacion=odbc_result($Resultado,"Titulación");
ECHO "<TR><TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000'SIZE=10>"$DNI"</TD><FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE='GENEVA COLOR='#FF0000'SIZE=10>"$Nombre"</TD></FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE=GENEVA' COLOR='#FF0000'SIZE=10>"$Apellidos"</TD></FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000'SIZE=10>"$Ciudad"</TD></FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000'SIZE=10>"$CP"</TD></FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000'SIZE=10>"$Nacionalidad"</TD></FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000' SIZE=10>"$Sueldo"</TD></FONT>";
ECHO "<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000' SIZE=10>"$Titulacion"</TD></TR></FONT>";
};
odbc_close($conexion);
 ECHO "</TABLE>";

?>

</BODY>
</HTML>

gracias.

En respuesta a Pilar Garcia Garcia

Re: Ayuda programacion php

de Pedro Ramos -

Hola Pilar.

PHP es sensible a las mayusculas  y minusculas, es decir, no es lo mismo echo que ECHO ni que EcHo, por lo tanto no te está cofiendo la pseudofunción predefinida echo.

Por lo tanto cambia cada "ECHO" de tu código por "echo".

Lo mismo le digo con el IF, etc.. seria todo en minuscula (if, exit(), echo etc..)

NOTA: Todo le he dicho esto sin probar el código, es lo primero que he visto.

Es todo, saludos.

En respuesta a Pilar Garcia Garcia

Re: Ayuda programacion php

de Omar Argemiro Angulo Mendoza -
Hola Pilar, tal vez lo que sobra son un par de comillas, de esta forma:

"<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000' SIZE=10>"$Sueldo"</TD></FONT>";

a

"<TD BGCOLOR='#0066FF'FONT FACE='GENEVA'COLOR='#FF0000' SIZE=10>$Sueldo</TD></FONT>";
En respuesta a Omar Argemiro Angulo Mendoza

Re: Ayuda programacion php

de Pedro Ramos -
Hola de nuevo a tod@s.

En todo caso, hay que separar los atributos en la etiqueta TD de HTML, por lo que quedaría:

"<TD BGCOLOR='#0066FF' FONT FACE='GENEVA' COLOR='#FF0000' SIZE=10>$Sueldo</TD></FONT>";

Saludos.
En respuesta a Daniela Vielma

Re: Ayuda programacion php

de Pedro Ramos -

Hola Daniela, perdon por mi ausencia de respuestas, es que por motivos técnicos no he podido conectarme al foro en este time.

Viendo el error, asi por encima me parece que es porque falta o sobra una ' o " (slash), pero estas probando el script en un servidor que ejecute PHP? porque parece que no te coge los echos. Te lo digo porque a mi si que funciona perfectamente en apache2 .

Saludos.

PD:Si ves que te sigue sin salir, hazmelo saber e intentaré arreglartelo lo antes posible.

En respuesta a Pedro Ramos

Re: Ayuda programacion php

de Daniela Vielma -
Hola Pedro gracias por responder. lo ejecuté en mi pc y solo tengo instalado el paquete de Moodle, Apache, PHP y Moodle, Apache, PHP y MySQL. e intenté ejecutarlo en los direrctorios de Moodle, dime que pasos debo seguir para probar la encuesta?
En respuesta a Daniela Vielma

Re: Ayuda programacion php

de Pedro Ramos -
Hola Daniela.

Yo he probado el script que te mande y me funciona perfectamente.

Los pasos que he seguido son:

1. Creo la base de datos vacia llamada "prueba" con el phpMyAdmin mismo, como lo indico en el fichero conexion.php.
2. Una vez dentro de la base de datos prueba, le doy a importar y selecciono el fichero prueba.sql que te mandé o que te vuelvo a mandar ahora. Le das a ejecutar y se creará la tabla preguntas y sus datos.
3. Arrancar el servidor Apache y servidor MySQL.
4. Ejecutar el script p.php, navegando a http://localhost/p.php , en caso de que p.php esté en el directorio de publicación del apache(por defecto htdocs), si está por ejemplo dentro de una carpeta llamada prueba sería:

http://localhost/prueba/p.php

Bueno son los pasos seguidos, uno a uno, espero que te salga una vez por todas, en caso de que te dé algún tipo de error no dude en postear.

Saludos.


En respuesta a Pedro Ramos

Re: Ayuda programacion php

de Alejandro Michavila Pallarés -
Aunque este tema es muy viejo, y el código que se publica aquí está desfasado, no he querido abrir un tema para mi siguiente pregunta y por eso la publico aquí.

Quiero crear una tabla (ya está creada) con botones (me falta crearlos), ¿alguien puede ayudarme?.

Gracias de antemano, un saludo.

PD: Para más información es para el archivo view.php de un módulo y el código para crear una tabla puede ser como este:

$table = new html_table();
$table->set_classes('mytable'); // note the new style of setting CSS class
$table->head = array('First name', 'Last name');
$table->colclasses = array('name fnamec', 'name lnamec');
$table->rowclasses = array('name fnamer', 'name lnamer');
$table->data = array(array(1),array(...),array(...));
echo $OUTPUT->table($table);

Aunque creo que la última linea debe ser:

echo html_writer::table($table);

En respuesta a Alejandro Michavila Pallarés

Re: Ayuda programacion php

de Alejandro Michavila Pallarés -
Quiero añadir que la tabla con botones es para un módulo bajo la versión 2.0.

En la linea 234: $newbutton->method = 'post'; me da el siguiente error:

Parse error: syntax error, unexpected T_STRING in /var/www/moodle/mod/newmodule/locallib.php on line 234

¿Debo pasarle una cadena?, porque según Moodle Docs, cito:

In Moodle 2.0 that means $OUTPUT->button() specifying ->method = 'post', and include sesskey in the params.

Ahora voy a concretar más mi pregunta, ¿es posible crear un botón con new html_button, añadir sus atributos y añadirlo en una fila de la tabla con?:

$table->data[] = $OUTPUT->button($newbutton);

Gracias de antemano, un saludo.
En respuesta a Alejandro Michavila Pallarés

Re: Ayuda programacion php

de Alejandro Michavila Pallarés -
El error anterior era debido a que no cerré una comilla, pero ¿a qué es debido este otro error?:

Fatal error: Class 'html_button' not found in /var/www/moodle/mod/newmodule/locallib.php on line 230

Este es mi código:

230: $newbutton = new html_button();
231: $newbutton->button->text = $label;
232: $newbutton->button->disabled = $disabled;
233: $newbutton->button->title = $tooltip;
234: $newbutton->method = 'post';
235: $newbutton->id = $formid;
236:
237: $table = new html_table();
238: $table->head = array(...);
239: $table->data[] = $OUTPUT->button($newbutton);

¿Se puede hacer lo que hago en la linea 239?.
En respuesta a Alejandro Michavila Pallarés

Re: Ayuda programacion php

de Alejandro Michavila Pallarés -

Parece que si:

http://moodle.org/mod/forum/discuss.php?d=152928

 

$table = new html_table();
$table->head = array();
$table->head[] = 'Columna1';
$table->head[] = 'Columna2';
$fila = array();
$url = new moodle_url('http://www.google.com');
$form = new single_button($url, 'Botón1', 'post');
$form->formid = 123456;
$boton = $OUTPUT->render($form);
$fila[] = $boton;
$fila[] = 'Botón2';
$table->data[] = $fila;
echo html_writer::table($table);

como esto:


$table = new html_table();
$table->head = array();
$table->head[] = 'Columna1';
$table->head[] = 'Columna2';
$fila = array();
$url = new moodle_url('http://www.google.com');
$boton = $OUTPUT->single_button($url, 'Botón1', 'post', array('formid'=>123456));
$fila[] = $boton;
$fila[] = 'Botón2';
$table->data[] = $fila;
echo html_writer::table($table);

 

Gracias Iñaki.