Ver Mensaje Individual
  #14 (permalink)  
Antiguo 18/04/2008, 09:50
usermax
(Desactivado)
 
Fecha de Ingreso: diciembre-2006
Mensajes: 529
Antigüedad: 17 años, 5 meses
Puntos: 11
Re: Sistema de control de gastos con una falla

Hola Sebastián,

Vamos a ver si resolvemos esto.

Primero, no puedes tener tan mezclado el html con el php, es un lio bárbaro. Declara las funciones por separado e intenta limpiar lo más posible el código.

Mirá, cuando vas a imprimir en pantalla directamente un código html, no conviene que lo hagas así

echo "<table><th><td>";

porque en la vista previa del editor web no puedes ver el resultado.
Tu estas pidiendo ayuda pero es muy dificil ver donde puede estar el error de la ubicación html de la función. Y ame hice lio?

Conviene imprimir el html así

Código PHP:
<?php
 
// funcionhes codigo blablabla
 
?>
<table><tr><td>
<?php
// mas codigo
?>
De esa manera puedes ver exactamente cómo va quedando.

Fue eso lo que yo hice con tu código y simplemente /despues de esto) cambie de posición la llamada a la funcion que genera tus categorías.


Código PHP:
<html>
<head>
<title>CONTROL DE GASTOS</title>
<script type="text/javascript" src="select_dependientes.js"></script>
<script language="javascript" type="text/javascript" src="seleccionafecha.js"></script>
</head>
<body>
<?php
function generaCategorias()
{
include 
'conexion.php';
conectar();
$consulta=mysql_query("SELECT id, opcion FROM categoria");
desconectar();
// Voy imprimiendo el primer select compuesto por los paises
?>
<select name='categorias' id='categorias' onChange='cargaContenido(this.id)'>
<option value='0'>Elige</option>
<?
while($registro=mysql_fetch_row($consulta))
{
?>
<option value='<?= $registro[0?>'><?= $registro[1?></option>";
<?
}
?>
</select>
<?
}
?>
</p>
<p> <?php
$dp
=mysql_connect("localhost""root""");
mysql_select_db("gastos"$dp);
 
if (isset(
$_POST['submit'])){
if (empty(
$_POST['monto'])){
echo 
"Debe ingresar el item.";
} else if (
strlen($_POST['fecha'])<1) {
echo 
"El monto debe estar ingresado.";
} else {
$sql "INSERT INTO insertagastox| (id, items, categorias, monto, fecha) VALUES ('$_POST[id]', '$_POST[items]', '$_POST[categorias]', '$_POST[monto]', '$_POST[fecha]')";
$resultadomysql_query($sql);
if (
$resultado){
echo 
"Datos fueron ingresados";
}else{
echo 
"Los datos <b>no</b> fueron agregados.";
}

?>
<br><br>
<a href='javascript:history.back()'>Volver</a> - <a href='<?= $_SERVER[PHP_SELF?>'> Introducir nuevo gasto</a>
<?
}else{
$sql2 "select * from item";
$resultado2 mysql_query($sql2);
$campoitem="";
while (
$row mysql_fetch_assoc($resultado2)){
?><option value='<?= $row[id?>'><?= $row[nombreitem?></option>
<?
}
?>
<form action="<?= $_SERVER[PHP_SELF?>" method="post">
<table>
AQUI QUIERO QUE VAYA ESE COMBOBOX DE LA FUNCION "generaCategoria"
<tr>
  <td>CATEGORIA</td>
  <td><?php generaCategorias();?>
<tr><td>ITEM:</td><td><select disabled="disabled" name="items" id="items"><option value="0">Selecciona opci&oacute;n...</option></select>
<tr><td>MONTO:</td><td><input type="text" name="monto"></td></tr>
<tr><td>FECHA GASTO:</td><td><input name="fecha" type="text" size="25"><a href="javascript:NewCal('fecha','ddmmyyyy')">Selec cione fecha</a></td></tr>
</td></tr>
<tr><td></td><td><input type="submit" value="Introducir Gasto" name ="submit"></td></tr>
</table>
</form>
FORMULARIO;
<?
}
?>
<p>&nbsp;</p>
<p><a href="vertodos.php">ver gastos </a></p>
Lo pruebas y me cuentas
Saludos