¿Como seleccionar campos de db?

Hola, estoy intentando que phpMyAdmin me muestre en pantalla unos campos de una db y y solo me muestra: Resource id #4. Que no se que es.
Tengo esto como llamada:
<?
mysql_connect ("localhost","xxx","xxxxx");
mysql_select_db ("deprueba");
$seleccionar = mysql_query ("select * from nueva");
echo $seleccionar;
?>
De nuevo pido vuestra ayuda, probablemente os reireis de mi, porque imagino que el fallo será muy simple, pero es QUE NO LO VEO.
Gracias
Lo mejor de caerse al tropezar, es volverse a levantar.
SOLUCIONAO

<?
mysql_connect ("localhost","xxx","xxxx");
mysql_select_db ("deprueba");
$result = mysql_query ("select * from `nueva`(las comillas invertidas) limit 0, 30") ;
if ($row = mysql_fetch_array($result)){

echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td>nombre</td> \n";

echo "<td>pais</td> \n";

echo "<td>telefono</td> \n";

echo "</tr> \n";

do {

echo "<tr> \n";

echo "<td>".$row["nombre"]."</td> \n";

echo "<td>".$row["pais"]."</td> \n";

echo "<td>".$row["telefono"]."</td> \n";

echo "</tr> \n";

} while ($row = mysql_fetch_array($result));

echo "</table border = '1'> \n";

echo "</table> \n";

}

else {

echo "¡ La base de datos está vacia !";

}
?>
Pero aun no entiendo el significado de \n, aunque se que sin ello no sale la tabla.
¿Sabriais decirme su sentido?
Lo mejor de caerse al tropezar, es volverse a levantar.
Esta muy bien el code solo que le pusiste un limit 0,30 que pasa si la tabla tiene mas de 30 registos? no se mostrarian todos verdad? a menos que intentes hacer una paginacion ,tambien para mi es mejor utilizar while y no do....while , ademas cuando buscas un codigo especial en algo mas grande seria mas dificil encontrarlo, aveces poner el code mas estructurado te funcionara mas,
asi que si quieres puedes probar le hize unas modificaciones para que el srcipt sea mas eficiente.
echo "<table border = '1'> \n";

?>
echo "<tr> \n";

echo "<td>nombre</td> \n";

echo "<td>pais</td> \n";

echo "<td>telefono</td> \n";

echo "</tr> \n";

<?
mysql_connect ("localhost","xxx","xxxx");
mysql_select_db ("deprueba");
//aqui le pusiste limite (que pasa si tienes mas de ¿30 registros?)
$result = mysql_query ("select * from `nueva` ") ;
//probemos de una forma mas concreta que este vacia la base de datos
$contar = mysql_num_rows($result);
if( $contar <= 0)
{
echo "¡ La base de datos está vacia !";
}
else {

if (mysql_num_rows($result)){
while ($row=mysql_fetch_array($result))
{

echo "<tr> \n";

echo "<td>".$row["nombre"]."</td> \n";

echo "<td>".$row["pais"]."</td> \n";

echo "<td>".$row["telefono"]."</td> \n";

echo "</tr> \n";

}
}
else {
/* Aqui no mostraria la base de datos esta vacia si no que un error de conexion o algo parecido para ser mas preciso en eso hay que hacer algo como ya lo puse arriba
*/
echo "

<center>Lo sentimos hubo un error al tratar de obtener los registros</center></p> \n";
}
}
echo "</table border = '1'> \n";

echo "</table> \n";
?>

Le hize algunas modificaciones para que el script sea mas eficiente

Saludos :wink:
Es facil programar "Solo interesate en aprender"
Gracias cesar_ed.
Pensaba de debía ponerlo,(el limite) ya que aparecia en el sql de la bd.
Si es mejor con el while, ademas, lo veo mas claro.
Ahora queda así:
<?
echo "<center> \n";

echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td>nombre</td> \n";

echo "<td>pais</td> \n";

echo "<td>telefono</td> \n";

echo "</tr> \n";

echo "</center> \n";

mysql_connect ("localhost","xxx","xxx");
mysql_select_db ("deprueba");
$result = mysql_query ("select * from `nueva` ") ;

//Esto es ver si está vacia
$contar = mysql_num_rows($result);
if( $contar <= 0)
{
echo "

<center>Lo sentimos hubo un error al tratar de obtener los registros</center></p> \n";

echo "</table border = '1'> \n";

echo "</table> \n";
}

else {
//Aqui muestra los registros de la tabla
if (mysql_num_rows($result)){
while ($row=mysql_fetch_array($result))
{

echo "<tr> \n";

echo "<td>".$row["nombre"]."</td> \n";

echo "<td>".$row["pais"]."</td> \n";

echo "<td>".$row["telefono"]."</td> \n";

echo "</tr> \n";

}
}
}
?>

¿Ves algun inconveniente?
Lo mejor de caerse al tropezar, es volverse a levantar.
solo uno pequeño , cuando no haya datos en la tabla de la bd va a mostrar : lo sentimos hubo un error en obtener los registros y eso lo tiene que poner solo si realmente no se pudo , en vez de eso hay que cambiarlo por no hay registros en la tabla de bd , y tambien que pasaria si no hay registros se seguiria mostrando la tabla sin datos pero con las columnas , eso seria algo molesto asi que quitemoslas,
aqui el code ya modificado

<?


mysql_connect ("localhost","xxx","xxx");
mysql_select_db ("deprueba");
$result = mysql_query ("select * from `nueva` ") ;

//Esto es ver si está vacia
$contar = mysql_num_rows($result);
if( $contar <= 0)
{

echo "

<center>No hay registros aun</center></p>";

}

else {
echo "<center> \n";

echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td>nombre</td> \n";

echo "<td>pais</td> \n";

echo "<td>telefono</td> \n";

echo "</tr> \n";

echo "</center> \n";
//Aqui muestra los registros de la tabla
if (mysql_num_rows($result)){
while ($row=mysql_fetch_array($result))
{

echo "<tr> \n";

echo "<td>".$row["nombre"]."</td> \n";

echo "<td>".$row["pais"]."</td> \n";

echo "<td>".$row["telefono"]."</td> \n";

echo "</tr> \n";

}
echo "</table border = '1'> \n";

echo "</table> \n";
}
else {
echo '

<center>Lo sentimos hubo un error al tratar de obtener los registros de nuestra base de datos , si el problema persiste contacta a la [correo eliminado]</center></p> \n';
}
}
?>

suerte
Es facil programar "Solo interesate en aprender"
Ciertamente está mas limpio y profesional de tu ultima forma. Lo rectificaré.
Ahora estoy viendo la forma para que desde la misma pagina que muestra la tabla, se pueda corregir algun dato intruducido erroneamente en un campo e introducir datos nuevos. Ya te contaré como me va.
Gracias, saludos.
Lo mejor de caerse al tropezar, es volverse a levantar.
Ok. si necesitas ayuda aqui estamos.

suerte :P
Es facil programar "Solo interesate en aprender"
Hola, bueno aqui estoy de nuevo. Aun no he llegado al punto de poder rectificar datos erroneos introducidos, pero por el camino me ha aparecido
la "SELECT SUM" que me parece interesante para el form que estoy creando par llevar la cuenta de las dietas que recibo de mi trabajo.
He aplicado el code anterior que funcionaba de maravilla en "deprueba",
pero en esta nueva bd no va, aqui la dejo aver si veis el fallo.
Gracias

<html>
<body>
<link rel="stylesheet" type="text/css" href="estyl.css" media="all" />

<?
mysql_connect ("localhost","xxx","xxx");
mysql_select_db ("perez-salinas");
$subtotal = mysql_query ("select sum `dietas` from `servicios`") ;
//Esto es ver si está vacia
$contar = mysql_num_rows ($subtotal);
if( $subtotal <= 0)
{

echo "

<center>No hay registros aun</center></p>";

}

else {

echo "<center> \n";

echo "<table border = '1'> \n";

echo "<tr> \n";

echo "<td>subtotal</td> \n";

echo "</tr> \n";

echo "</center> \n";
//Aqui muestra los registros de la tabla
if (mysql_num_rows($subtotal)){
while ($row=mysql_fetch_array($subtotal))
{

echo "<tr> \n";

echo "<td>".$row["subtotal"]."</td> \n";

echo "</tr> \n";

}
echo "</table border = '1'> \n";

echo "</table> \n";
}
else {
echo '

<center>Lo sentimos hubo un error al tratar de obtener los registros de nuestra base de datos , si el problema persiste contacta a la [correo eliminado]</center></p> \n';
}
}
?>

<hr/>


<form action="envio.php" method="post">
<center>


Dia<input type="text" name="dia" style="margin:50px 10px" />
Cliente<input type="text" name="cliente" style="margin:50px 10px" />
Salida<input type="text" name="salida"style="margin:50px 10px" /></p>


Destino<input type="text" name="destino"style="margin:50px 10px" />
Coche<input type="text" name="coche"style="margin:50px 10px" />
Dieta<input type="text" name="dieta"style="margin:50px 10px" /></p>
Enviar<input type="submit" value="OK" style="margin:50px 10px" /></center>


</body>
</html>
Lo mejor de caerse al tropezar, es volverse a levantar.
Yo tengo entendido que el select sum es como el foreach de php en mysql , y funciona algo asi
mysql_query(SELECT SUM(campo en tabla) as "segundocampo" From tutabla), pero no veo la razon por el cual quieras utilizarlo y porque, otra cosilla mas en tu code modificaste lo de comprobar registros en la tabla , pusiste esto:

if($subtotal <= 0)
{

Y tiene que ser asi

if($contar <= 0)
{

Bueno , si quieres que te resuelva tu problemilla dime exactamente que quieres hacer con select sum al aplicarselo a tus tablas de la bd , Dime y vere si te puedo ayudar

un saludo :wink:
Es facil programar "Solo interesate en aprender"
Lo he corregido y sigue adviertiendome que mysql_num_rows () espera el parámetro 1 para ser el recurso, booleano presentado.
Yo iré metiendo la cantidad que gano en 'dieta' todos los dias y quiero que vayan sumandose y me muestre el resultado.
Lo mejor de caerse al tropezar, es volverse a levantar.
Te pone error en mysql_num_rows, porque no puedes contar algo que estas sumando, para ello crearias una nueva variable debajo del $subtotal asi
$contando = mysql_query("SELECT * FROM `servicios`);
y modificas $contar asi:
$contar = mysql_num_rows($contando);

Y estaria listo

:wink:
Es facil programar "Solo interesate en aprender"
No, no sale cesar.
Quizas me he explicado mal. Lo que trato de hacer es que el campo 'dieta' que es INT vaya sumando su valor a la 'dieta' del 'dia' siguiente.
He probado todo lo que me has dicho y nada.
Estoy perdido. En SELECT SUM falla algo.
De todos modos GRACIAS por tu esfuerzo en ayudarme.
Lo mejor de caerse al tropezar, es volverse a levantar.
Mmmmmm... Yo en lo personal casi nunca lo eh usado porque muchas veces llega aser muy problematico , yo lo haria sin SELECT SUM y lo haria utilizando algunas funciones de php , Dime bien lo que quieres hacer y vere si puedo resolver el problema , Te entendi que quieres que se vaya sumando algo a dieta, esto que quieres se va introducir a diario por un usuario o admin o solito va a ir sumandose a diario , explicame bien sale?
Es facil programar "Solo interesate en aprender"
Vale, yo en una db tengo varios campos (fecha, servicio, salida, llegada, etc... y dieta), diariamente introduzco los datos en esos campos y en dieta pongo lo que me pagan por esos servicios. Lo que quiero es que dieta se vaya sumando el solo, ejemplo hoy gano 50€ de dieta y mañana 30€, pues que mañana aparezca en otro campo un subtotal de 80€
Segun he estado leyendo El SELECT SUM debería hacer esto, pero algo me falla y no se que es.
Lo mejor de caerse al tropezar, es volverse a levantar.
Segun te entendi la dieta se va ir modificando conforme le agreges mas dieta una buena forma de obtener una suma total es ir modificando automaticamente cada que agreges algo pero que pasa si quieres obtener (por ejemplo) cuanto dinero tenias el lunes 21 de abril cuando ya estas en mayo ya no se podria asi que mejor los vamos almacenando y mostrando la suma total y poder obtener una dieta normal , haber si te sirve el code que te cree si es diferente dimelo


<?php

$conectar = mysql_connect("SERVIDOR","USUARIO","CLAVE");
$db = mysql_select_db("TU BD");

$tabla = mysql_query("SELECT * FROM tutabla ") or die("Hubo un error de conexion avisa al administrador del sitio");

$contar = mysql_num_rows($tabla);

if($contar <= 0)
{
echo "

No se han encontrado resultados en nuestro sistema</p>";
}
else {

if(mysql_num_rows($tabla))
{
while ($dieta = mysql_fetch_array($tabla))
{
for($i = $contar; $i >= 2; $i--)
{
$dietas =
array (
$i => $dieta['dieta'],
);
}
}
}
foreach($dietas as $sumando)
{
if($sumando == $contar)
{
$sumatotal = ($sumando + $dieta['dieta']);
}
else {
$sumatotal = ($sumando +$sumatotal);
}
}

echo "

La dieta es : ".$sumatotal." </p>";
}
?>
suerte
Es facil programar "Solo interesate en aprender"
Este code no suma las cantidades que diariamente introduuzco en el campo 'dieta'.
He probado el ++ pero me suma el nº de campos no las cantidades.
Estoy mas liado que un ovillo.
echo "LIO"
Disculpa mi ignorancia y gracias por las molestias que te tomas conmigo.
Lo mejor de caerse al tropezar, es volverse a levantar.
EUREKA.
Lo conseguí:
<?php
mysql_connect("localhost", "XXX", "XXX");
mysql_select_db("XXX");
$result = mysql_query("SELECT SUM(dieta)as total FROM servicios");
if ($row = mysql_fetch_array($result)){
echo "<center> \n";
echo "<h1>SUBTOTAL DIETAS</h1> \n";
echo "<table border = '1'> \n";
echo "<tr><td>total</td> \n";
do {
echo "<tr><td>".$row["total"]."</td></tr> \n";
} while ($row = mysql_fetch_array($result));
echo "</table> \n";
echo "</center> \n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
?>

¿Que te parece cesar? ¿Debo modificar algo?
Lo mejor de caerse al tropezar, es volverse a levantar.
Muy bien , pero creo que ya te habia dicho mas anteriormente que faltaba el AS en el select sum , casi al principio, bueno pero eso no importa, ahora ya aparentemente lo tienes 100% funcional ¡Muy bien!

saludos y recuerda que si tienes otra duda aqui estamos