Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: jimmorrison en 27 de Mayo 2015, 06:49
-
Aqui esta el codigo falta arreglar el contador
una pregunta ¿por que no me imprime el contador 2?
<!Doctype html>
<html lang="es">
<head>
<title>Consulas a bases de datos</title>
<meta name="description" content= description= "consultas a base de datos php y mysql, https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=613:ejemplo-consulta-php-mysql-select-bucle-while-mysqlifetcharray-recorrer-resultados-query-cu00842b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193">
<meta name="keywords" name="base de datos mysql html php">
</head>
<header>
<h1>Consultas con base de datos</h1>
</header>
<body>
<?php
$contador= 0;
function mostrar_datos($a){
if($a!=null){
$cad = $a['nombre'];
$sub = substr($cad,0,1);
if($sub == 'm'){
echo 'Nombre : ',$a['nombre'],'<br>';
echo 'Su Nombre inicia con ',$sub,'<br>';
echo 'Apellidos : ',$a['apellido'],'<br>';
echo 'Direccion : ',$a['direccion'],'<br>';
echo 'Telefono : ',$a['telefono'],'<br>';
echo 'Edad : ',$a['edad'],'<br>';
echo 'Altura : ',$a['altura'],'<br>';
$contador = $contador+1;
echo '<br>';
}else{
echo 'Nombre : ',$a['nombre'],'<br>';
echo 'Apellidos : ',$a['apellido'],'<br>';
echo 'Direccion : ',$a['direccion'],'<br>';
echo 'Telefono : ',$a['telefono'],'<br>';
echo 'Edad : ',$a['edad'],'<br>';
echo 'Altura : ',$a['altura'],'<br>';
echo '<br>';}
}else{ echo 'No hay mas datos por mostrar';}
}
$db = mysqli_connect('sql204.byethost7.com','b7_16106679','acsdc120789','b7_16106679_mibasededatos') or
die('no hay conexion con la base de datos'.mysql_error);
mysqli_select_db($db, 'b7_16106679_mibasededatos');
$tildes = $db->query("SET NAMES 'utf-8'");
$tabla=mysqli_query($db,'SELECT * FROM agenda');
while($rows=mysqli_fetch_array($tabla)){
mostrar_datos($rows);
}
echo ' personas que inicia su nombre con "M" ',$contador;
mysqli_free_result($tabla);
mysqli_close($db);
?>
<footer>
<h5>Hecho por carlos enrique gil chong</h5>
<a href="https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=613:ejemplo-consulta-php-mysql-select-bucle-while-mysqlifetcharray-recorrer-resultados-query-cu00842b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193">aprenderaprogramar</a>
</footer>
</body>
</html>
-
me pueden ayudar con el contador por favor?
-
Saludos no he logrado ejecutarlo porque aparece un error "no hay conexion con la base de datosmysql_error" pero parece que no estás teniendo en cuenta el ámbito de las variables. Cada llamada a la función genera un nuevo ámbito y la variable $contador parte de cero dentro de la función.
El ambito lo tienes explicado en http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=36&Itemid=60 en la entrega CU00205A, pero te recomiendo que leas desde el principio hasta esa entrega por lo menos para entender el ámbito.
Para solucionarlo debes llevar el contador en el bucle while y pasárselo como parámetro a la función. Al recibirlo desde fuera ya la función conocerá el valor del contador.
Saludos!
-
gracias javi in the sky eres grande
soy un nob al no meter el contador en el bucle pfffffff se me fue cerebro , apenas le estoy pillando a esto de las funciones y parametros todavia no soy muy bueno usandolas jeje
aqui esta el codigo
<!Doctype html>
<html lang="es">
<head>
<title>Consulas a bases de datos</title>
<meta name="description" content= description= "consultas a base de datos php y mysql, https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=613:ejemplo-consulta-php-mysql-select-bucle-while-mysqlifetcharray-recorrer-resultados-query-cu00842b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193">
<meta name="keywords" name="base de datos mysql html php">
</head>
<header>
<h1>Consultas con base de datos</h1>
</header>
<body>
<?php
$contador = 0;
function mostrar_datos($a,$b){
if($a!=null){
$cad = $a['nombre'];
$sub = substr($cad,0,1);
if($sub == 'm'){
echo 'Nombre : ',$a['nombre'],'<br>';
echo 'Su Nombre inicia con ',$sub,'<br>';
echo 'Apellidos : ',$a['apellido'],'<br>';
echo 'Direccion : ',$a['direccion'],'<br>';
echo 'Telefono : ',$a['telefono'],'<br>';
echo 'Edad : ',$a['edad'],'<br>';
echo 'Altura : ',$a['altura'],'<br>';
echo 'numero de personas que inician con la letra ', 'm :' ,$b,'<br>';
echo '<br>';
}else{
echo 'Nombre : ',$a['nombre'],'<br>';
echo 'Apellidos : ',$a['apellido'],'<br>';
echo 'Direccion : ',$a['direccion'],'<br>';
echo 'Telefono : ',$a['telefono'],'<br>';
echo 'Edad : ',$a['edad'],'<br>';
echo 'Altura : ',$a['altura'],'<br>';
echo '<br>';}
}else{ echo 'No hay mas datos por mostrar';}
}
$db = mysqli_connect('sql204.byethost7.com','b7_16106679','acsdc120789','b7_16106679_mibasededatos') or
die('no hay conexion con la base de datos'.mysql_error);
mysqli_select_db($db, 'b7_16106679_mibasededatos');
$tildes = $db->query("SET NAMES 'utf-8'");
$tabla=mysqli_query($db,'SELECT * FROM agenda');
while($rows=mysqli_fetch_array($tabla)){
$contador=$contador+1;
mostrar_datos($rows,$contador);
}
mysqli_free_result($tabla);
mysqli_close($db);
?>
<footer>
<h5>Hecho por carlos enrique gil chong</h5>
<a href="https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=613:ejemplo-consulta-php-mysql-select-bucle-while-mysqlifetcharray-recorrer-resultados-query-cu00842b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193">aprenderaprogramar</a>
</footer>
</body>
</html>
-
disculpen no puedo hacer la suma de los habitantes en el ejercicio 2
no se por que no se guardan los valores en la variable suma ya revise el codigo y corre bien
<?php
$suma=0;
$x = 1;
function mostrar_datos($a,$suma,$x){
if($a != null){
if($a['tienemetro']== 1){
echo 'ID ',$a['id'],'<br>';
echo 'Ciudad : ',$a['ciudad'],'<br>';
echo 'pais : ',$a['pais'],'<br>';
echo 'habitantes : ',$a['habitantes'],'<br>';
echo 'superficie : ',$a['superficie'],'<br>';
echo 'Tiene Metro : ',$a['tienemetro'],'<br>';
}else {
echo 'ID ',$a['id'],'<br>';
echo 'Ciudad : ',$a['ciudad'],'<br>';
echo 'pais : ',$a['pais'],'<br>';
echo 'habitantes : ',$a['habitantes'],'<br>';
echo 'superficie : ',$a['superficie'],'<br>';
echo 'Tiene Metro : ',$a['tienemetro'],'<br>';
}
while($x<=10){
$suma = $suma + $a['habitantes'];
$x=$x+1;
}
echo $suma,'<br>';
}
}
$db = mysqli_connect('sql204.byethost7.com','b7_16106679','acsdc120789','b7_16106679_mibasededatos') or
die('error de conexion'.mysql_error);
mysqli_select_db($db, 'b7_16106679_mibasededatos');
$tildes = $db->query("SET NAMES 'utf-8'");
$tabla = mysqli_query($db,'SELECT * FROM ciudades');
while($rows = mysqli_fetch_array($tabla)){
mostrar_datos($rows,$suma,$x);
}
?>
-
no me sale ya le meti mucho tiempo a este tema pero no me sale ya estoy frustrado
<?php
$suma=0;
$contador = 0;
function mostrar_datos($a,$contador,$suma){
if($a != null){
/*foreach($a as $valor => $k){
$cantidad = $k['habitantes'];
$suma=$suma+$cantidad;
$contador++;
}
echo $suma;*/
//echo count($a['habitantes']),'<br>';
if($a['tienemetro']== 1){
echo 'ID ',$a['id'],'<br>';
echo 'Ciudad : ',$a['ciudad'],'<br>';
echo 'pais : ',$a['pais'],'<br>';
echo 'habitantes : ',$a['habitantes'],'<br>';
echo 'superficie : ',$a['superficie'],'<br>';
echo 'Tiene Metro : ',$a['tienemetro'],'<br>';
}else {
echo 'ID ',$a['id'],'<br>';
echo 'Ciudad : ',$a['ciudad'],'<br>';
echo 'pais : ',$a['pais'],'<br>';
echo 'habitantes : ',$a['habitantes'],'<br>';
echo 'superficie : ',$a['superficie'],'<br>';
echo 'Tiene Metro : ',$a['tienemetro'],'<br>';
}
}
}
function mostrar_datos2($x, $suma){
for($i=0; $i<10; $i++){
$suma=$suma+$x['habitantes'];
}
echo $suma;
}
$db = mysqli_connect('sql204.byethost7.com','b7_16106679','acsdc120789','b7_16106679_mibasededatos') or
die('error de conexion'.mysql_error);
mysqli_select_db($db, 'b7_16106679_mibasededatos');
$tildes = $db->query("SET NAMES 'utf-8'");
$tabla = mysqli_query($db,'SELECT * FROM ciudades');
while($rows = mysqli_fetch_array($tabla)){
mostrar_datos($rows,$contador,$suma);
}
mysqli_data_seek($tabla,0);
while($extraido = mysqli_fetch_array($tabla)){
mostrar_datos2($extraido,$suma);
}
mysqli_free_result($tabla);
mysqli_close($db);
?>
-
Hola, el código no está bien planteado. Yo te puedo pegar el código correcto (de hecho puedes ver una solución en www.aprenderaprogramar.com/foros/index.php?topic=1598), pero lo que te será útil es que tú mismo aprendas a plantear código si quieres llegar a ser un buen programador. Léete esto https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0 creo que si quieres puedes, el cómo es comenzando con el curso de fundamentos de la programación. Te puede parecer que eso sea como ir para atrás, pero tomando una buena base es como podrás avanzar como programador, de otra manera será difícil. Saludos,
-
gracias alex por el consejo me voy a pasar por los fundamentos de programacion los deje de lado por que ya me urge aprender php y mysql para añadirlo a mi curriculum .