PHP - lista dinamica mysql

 
Vista:
Imágen de perfil de LLUIS

lista dinamica mysql

Publicado por LLUIS (68 intervenciones) el 13/06/2007 15:56:32
estoy haciendo un programa php para agregar registros a una base de datos mysql mediante listas dinamicas asociadas a tablas mysql y campos de introducción de texto, y cada vez que aceptas el formulario para agregar datos las listas dinámicas se me ponen al principio de todo.

como podria hacer para que las listas mantuviesen el valor introducido anteriormente ??

muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:lista dinamica mysql

Publicado por basnek (63 intervenciones) el 13/06/2007 17:16:05
Hola LLUIS,
A ver necesitaria mas info o el codigo para poder guiarte mejor pero en principio entiendo, corrigeme si no es asi, que tu tienes unas listas dinamicas pero agregas a su vez mediante un formulario datos a las listas dinamicas.

Pues lo que puedes hacer se supone que estas haciendo un INSERT y podrías usar
$myID=mysql_insert_id(); # Capturo Ultimo ID ingresado

de forma tal que luego a las listas puedes decirle que seleccione el valor cuando sea igual a la variable $myID

Esto asi genericamente dado que te repito necesitaria mas info.

Ya me dices algo

Salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de LLUIS

RE:lista dinamica mysql

Publicado por LLUIS (68 intervenciones) el 13/06/2007 18:21:34
no quiero agregar datos a la lista dinamica
la pantalla en cuestion sirve para entrar los partes de trabajo de los trabajadores de la empresa
mediante listas dinamicas el encargado escoge el trabajador y la obra, y mediante un campo de introducción de texto pone el numero de horas
cuando pulsa el botón se graba el parte en la base de datos mysql
pero luego, las listas se vuelven a poner al valor inicial, y me gustaría que se mantuviese como valor seleccionado el último valor introducido
supongo en el bucle que genera la lista se tiene que poner el valor "selected" en el valor que coincida con el último introducido, pero no se como.
el código que genera la lista es el siguiente:

<select name="CODIOBRA" id="select4">
<?php
do {
?>
<option value="<?php echo $row_OBRES['CODIOBRA']?>"><?php echo $row_OBRES['CODIOBRA']."-".$row_OBRES['DESCRIPCIOOBRA']?></option>
<?php
} while ($row_OBRES = mysql_fetch_assoc($OBRES));
$rows = mysql_num_rows($OBRES);
if($rows > 0) {
mysql_data_seek($OBRES, 0);
$row_OBRES = mysql_fetch_assoc($OBRES);
}
?>
</select>

gracias por todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:lista dinamica mysql

Publicado por basnek (63 intervenciones) el 13/06/2007 20:43:09
Estimado LLUIS,
Bueno dado que no tenia tu dump ni nada por el estilo te hice un ejemplo de algo que espero te sirva

En este caso puntual, y esto a titulo de que lo lleves a tu caso, lo que tengo es una tabla de paises y una de empleados entonces hago un RS sobre la tabla de empleados ordenando por la clave primaria y solo extrayendo el ultimo registro (limit 0,1)
Luego en la tabla paises la tengo ordenada y si te fijas en los select pues tienes el codigo para ver como hacer la comparacion

Nota: Si con esto no lo solucionas enviame un email privado con un dump y el codigo asi te lo veo sobre el tuyo.

Te deje un dump de las tablas ue use para el ejemplo en: http://www.basnek.com/downloads/pef-20070613-2104.sql

--[Connections/cnx.php]--
1
2
3
4
5
6
7
8
9
10
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_cnx = "localhost";
$database_cnx = "pef";
$username_cnx = "root";
$password_cnx = "";
$cnx = mysql_pconnect($hostname_cnx, $username_cnx, $password_cnx) or trigger_error(mysql_error(),E_USER_ERROR);
?>

---[comoquieras.php]---

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<?php require_once('Connections/cnx.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
 
  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
 
  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}
 
mysql_select_db($database_cnx, $cnx);
$query_rsPaises = "SELECT * FROM paises ORDER BY paisES ASC";
$rsPaises = mysql_query($query_rsPaises, $cnx) or die(mysql_error());
$row_rsPaises = mysql_fetch_assoc($rsPaises);
$totalRows_rsPaises = mysql_num_rows($rsPaises);
 
mysql_select_db($database_cnx, $cnx);
$query_rsUsuario = "SELECT * FROM empleados ORDER BY empleadoID DESC limit 0,1";
$rsUsuario = mysql_query($query_rsUsuario, $cnx) or die(mysql_error());
$row_rsUsuario = mysql_fetch_assoc($rsUsuario);
$totalRows_rsUsuario = mysql_num_rows($rsUsuario);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin título</title>
</head>
 
<body>
<form id="form1" name="form1" method="post" action="">
  <select name="pais" id="pais">
    <?php
do {
?>
    <option value="<?php echo $row_rsPaises['paisID']?>"<?php if (!(strcmp($row_rsPaises['paisID'], $row_rsUsuario['paisID']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rsPaises['paisES']?></option>
    <?php
} while ($row_rsPaises = mysql_fetch_assoc($rsPaises));
  $rows = mysql_num_rows($rsPaises);
  if($rows > 0) {
      mysql_data_seek($rsPaises, 0);
      $row_rsPaises = mysql_fetch_assoc($rsPaises);
  }
?>
  </select>
</form>
</body>
</html>
<?php
mysql_free_result($rsPaises);
 
mysql_free_result($rsUsuario);
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de LLUIS

RE:lista dinamica mysql

Publicado por LLUIS (68 intervenciones) el 15/06/2007 08:45:11
me ha servido de ayuda, muchas gracias por todo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:lista dinamica mysql

Publicado por Danny Pauta (1 intervención) el 28/10/2013 03:48:55
Hola amigo Basnek por lo visto sabes mucho de una manera especial te pido tu correo personal necesito hacerte una consulta porfavor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar