Ayuda con código PHP+MySQL sencillo

Iniciado por mokoMonster, 18 Marzo 2012, 22:02 PM

0 Miembros y 1 Visitante están viendo este tema.

mokoMonster

Hola!!

Bueno domingo a todos :)
Tengo un problema bastante sencillo pero parece ser que ando algo seco :/

Les explico un poco:

Tengo 1 tabla llamada inmuebles_renta_rooms la cual tiene los campos recamara_id, irid, bano, armario, etc... donde recamara_id es el identificador de cada recamara y irid que es el identificador de la propiedad.

Ahora, lo que pasa es que necesito modificar todas las recamaras que existan con X irid para lo cual tengo el siguiente código
Código (php) [Seleccionar]

$rooms = mysql_query("SELECT * FROM inmuebles_renta_rooms WHERE irid = '$irid' ORDER BY recamara_id");
if(!$rooms){
print("No hay habitaciones registradas con ese irid(<b>$irid</b>)\n");
}else{
$room = mysql_fetch_array($rooms);
$recamaras = mysql_num_rows($rooms); // 6
$r_recamaras = $recamaras;
$turno = 1;
if($recamaras >= $turno){

$unic_room = mysql_fetch_array(mysql_query("SELECT * FROM inmuebles_renta_rooms WHERE irid = '$irid' AND recamara_id = '".$room['recamara_id']."'"));
echo '<form action="action.php?a=renta&modify&step2&irid='.$_GET['irid'].'&roomId='.$room['recamara_id'].'" method="POST" >';
echo '<table bgcolor="#D5FAFD" align="center">';
{
echo '<tr><td> Baño </td><td><select name="bano">';
echo '<option>'.$unic_room['bano'].'</option>';
echo '<option>Si</option><option>No</option></select></td></tr>';
}
{
echo '<tr><td> Armario </td><td><select name="armario">';
echo '<option>'.$unic_room['armario'].'</option>';
echo '<option>Sin armario</option><option>Chico</option><option>Mediano</option><option>Muy Grande</option></select></td></tr>';
}
{
echo '<tr><td> Television </td><td><select name="television">';
echo '<option>'.$unic_room['television'].'</option>';
echo '<option>Sin television</option><option>Normal</option><option>Plasma / LCD</option></select></td></tr>';
}
{
echo '<tr><td> Tipo de Cama </td><td><select name="cama">';
echo '<option>'.$unic_room['tipo_cama'].'</option>';
echo '<option>Sin cama</option><option>Individual</option><option>Doble</option><option>Matrimonial</option><option>Doble Matrimonial</option><option>King Size</option></select></td></tr>';
}
{
echo '<tr><td> Aire Acondicionado </td><td><select name="aa">';
echo '<option>'.$unic_room['aire_acondicionado'].'</option>';
echo '<option>Si</option><option>No</option></select><br /></td></tr>';
}
echo '<tr><td colspan="2"><p align="right"><input type="submit" value=" Continuar " name="submit" /></p></td></tr>';
echo '</table></form>';
echo '<h1>faltan: '.$recamaras.' recamaras a registrar</h1>';
if(isset($_POST['submit'])){
$step2 = new inmuebles;
$step2 -> doModificaRentaStep2( $irid, $_POST['bano'], $_POST['armario'], $_POST['television'], $_POST['cama'], $_POST['aa'], $_GET['roomId']);
$turno++;
$r_recamaras--;
}
}



Como podrán ver este script muestra el formulario donde se harán los cambios y muestra los valores originales que ya estaban guardados en la tabla.
Supongamos que son 6 recamaras, HAB1 = 40, HAB2 = 42, HAB3 = 43, HAB4 = 46, HAB5 = 47 y HAB7 = 48. (Notese que HAB2 no es 41, es 42 (a lo que voy con esto es que HAB1++ no me serviria ya que sería 41 y 41 no existe)).

El problema que tengo es que no se como hacerle para que una vez actualizado la primera recamara(HAB1) $room['recamara_id'] ahora sea = HAB2, ya que en mi script $room['recamara_id'] siempre es 40 y siempre modifico la fila con recamara_id = 40 :(


*Pense en usar un foreach para guardar en un array cada id con un identificador numero pero $room['recamara_id'] "is not a valid recourse".

*También pensé en usar un while, pero esto haria que se mostraran todos los formularios de las diferentes recamaras en vez de 1 en 1 y es justo lo que no quiero.

Alguna idea?

Muchas gracias :D
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange

#!drvy

Hola,

Podrías cambiar el code para que en vez de  [code]codigo...[/code] use [code=php][/code].. lo digo porque se hace muy pesado leer el código así (no coloreado y con lineas demasiado largas..).

A lo que vamos..

He entendido que quieres modificar "paso a paso" todas las $room['recamara_id'].
Para eso, podrías hacer algo tipo paginacion.

Me explico:
Obtienes un parámetro GET que podría ser $_GET['recamara_id']. Si dicho parámetro no existe, lo defines como el primer resultado que pillas con la primera consulta que haces en ese código.
Luego, haces un while que obtenga todas las recamara_id que haya en la base de datos MENOS el que tienes actualmente. Escoges la siguiente opción y vas cambiándolas. Debes hacer un while. Foreach no funciona con mysql_fetch_array ni nada de eso.

Si necesitas mas explicación o un ejemplo practico solo avisa :)

Saludos

mokoMonster

Cita de: drvy | BSM en 19 Marzo 2012, 20:26 PM
Hola,

Podrías cambiar el code para que en vez de  [code]codigo...[/code] use [code=php][/code].. lo digo porque se hace muy pesado leer el código así (no coloreado y con lineas demasiado largas..).

A lo que vamos..

He entendido que quieres modificar "paso a paso" todas las $room['recamara_id'].
Para eso, podrías hacer algo tipo paginacion.

Me explico:
Obtienes un parámetro GET que podría ser $_GET['recamara_id']. Si dicho parámetro no existe, lo defines como el primer resultado que pillas con la primera consulta que haces en ese código.
Luego, haces un while que obtenga todas las recamara_id que haya en la base de datos MENOS el que tienes actualmente. Escoges la siguiente opción y vas cambiándolas. Debes hacer un while. Foreach no funciona con mysql_fetch_array ni nada de eso.

Si necesitas mas explicación o un ejemplo practico solo avisa :)

Saludos

Me ha quedado perfecto ;) Muchas gracias, creo que solo necesitaba un poco de creatividad :D

De verdad muchas gracias :D
"Se necesitaron unos instantes para cortarle la cabeza, pero se necesitara un siglo para producir otra igual."
Lagrange