1
Aprender a programar desde cero / Re:Duda en entrega de curso PHP CU00842B ejercicio while mysqli_fetch_array
« en: 14 de Noviembre 2014, 14:33 »
De acuerdo, Mario, revisare todo lo que me dices.
Muchas gracias!
Muchas gracias!
Si tienes algún problema para registrarte en el foro o para escribir mensajes ponte en contacto con nosotros a través del formulario de contacto de aprenderaprogramar.com
Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.
$conMetro =0;
while ($fila = mysqli_fetch_array($result)){
$numHabitantes = $numHabitantes + $fila['habitantes'];
if ($fila['tieneMetro'] == true) { $conMetro = $conMetro+1;}
}
cree la tabla sguiendo el ejercicio de esta entrega: https://www.aprenderaprogramar.es/index.php?option=com_content&view=article&id=611:crear-tablas-mysql-con-phpmyadmin-tipos-de-datos-basicos-varchar-int-float-insertar-filas-cu00840b&catid=70:tutorial-basico-programador-web-php-desde-cero&Itemid=193<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php
$link = mysqli_connect("sql311.byethost7.com", "b7_15257931", "199199");
mysqli_select_db($link, "b7_15257931_nombreElegido");
$tildes = $link->query("SET NAMES 'utf8'"); //Para que se muestren las tildes correctamente
$result = mysqli_query($link, "SELECT * FROM ciudades");
while ($fila = mysqli_fetch_array($result)){
$numHabitantes = $numHabitantes + $fila[habitantes];
$conMetro = $conMetro + $fila[tieneMetro];
}
echo "La suma de habitantes de México D.F., Barcelona, Buenos Aires, Medellín, Lima, Caracas, Santiago, Antigua, Quito y La Habana es: $numHabitantes habitantes";
echo "<br>";
echo "De estas ciudades tienen metro: $conMetro ciudades.";
mysqli_free_result($result);
mysqli_close($link);
?>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php //Ejemplo aprenderaprogramar.com
$link = mysql_connect("sql311.byethost7.com", "b7_15257931", "199199");
mysql_select_db("b7_15257931_nombreElegido", $link);
mysql_query("SET NAMES 'utf8'"); //Para que se muestren las tildes
$result = mysql_query("SELECT * FROM ciudades", $link);
for ($i = 0; $i<=count($result); $i++){
echo"Pais: ".mysql_result($result, $i, "pais")."<br>";
echo"Ciudad: ".mysql_result($result, $i, "ciudad")."<br>";
}
mysql_free_result($result);
mysql_close($link);
?>
</body>
</html>
El problema es que solo me presenta en pantalla esto:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php //Ejemplo aprenderaprogramar.com
$web0 = "https://www.aprenderaprogramar.com";
$web1 = "http://www.cuanto(insulto).com/";
$web2 = "http://www.cuantarazon.com/";
$texto0 = file_get_contents($web0);
$texto1 = file_get_contents($web1);
$texto2 = file_get_contents($web2);
$cadena = "<h1>";
echo "La etiqueta h1 aparece ".substr_count($texto0, $cadena). " veces en $web0";
echo "<br>";
echo "La etiqueta h1 aparece ".substr_count($texto1, $cadena). " veces en $web1";
echo "<br>";
echo "La etiqueta h1 aparece ".substr_count($texto2, $cadena). " veces en $web2";
?>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php
function escribirNumerosMod ($numeros, $sobreescribir) {
$file = fopen("archivo.txt", $sobreescribir);
for ($i = 0; $i<=count($numeros); $i++){
fwrite($file, "$numeros[i]" . PHP_EOL);
}
fclose($file);
}
function leerContenidoFichero ($ruta) {
$file = fopen($ruta, "r");
while(!feof($file)) {
echo fgets($file). "<br />";
}
fclose($file);
}
escribirNumerosMod ([2, 8, 14], "w");
leerContenidoFichero ("archivo.txt");
escribirNumerosMod ([33, 11, 16], "a");
leerContenidoFichero ("archivo.txt");
escribirNumerosMod ([4, 9, 12], "w");
leerContenidoFichero ("archivo.txt");
echo "</br>";
echo "</br>";
echo "Hasta luego!!!";
?>
</body>
</html>
Aquí tengo un par de dudas.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<?php
function escribirNumerosMod ($numeros, $sobreescribir) {
$file = fopen("archivo.txt", $sobreescribir);
for ($i = 0; $i<=count($numeros); $i++){
fwrite($file, "$numeros[i]" . PHP_EOL);
}
fclose($file);
}
escribirNumerosMod ([1,2,3,4,5], "w");
?>
</body>
</html>
El cofigo me crea el archivo txt, pero no escribe nada en el... no se donde puede estar el problem
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo aprenderaprogramar.com</title>
<meta charset="utf-8">
</head>
<body>
<!--escribirNumerosMod-->
<?php
$numeros = array(5, 9, 3, 22);
$sobreescribir = w;
$ampliar = a;
$file = fopen("archivo.txt", "$sobreescribir");
for ($i = 0; $i=4; $i++){
fwrite($file, $numeros[i] . PHP_EOL);
}
fclose($file);
?>
</body>
</html>
No he podido probarlo porque el hosting gratuito me esta dando problemas, pero creo que funciona.<html>
<head><title>Ejemplo aprenderaprogramar.com</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php
echo '<h1> Calendario</h1>';
$time = time();
$mesDia = (int) date("m", $time);
$mes = date("F", $time);
$año = (int) date("Y", $time);
$numero = cal_days_in_month(CAL_GREGORIAN, $mesDia, $año);
echo "Hay $numero días en $mes del $año";
echo '<h2>'. date("F-Y", $time). '<h2>';
echo '<h4><h4>';
for ($i=1; $i <= $numero; $i++){
echo "Dia $i: " .date("l", $time);
echo ", ";
}
?>
</body>
</html>
<html>
<head><title>Ejemplo aprenderaprogramar.com</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php
echo '<h1> Calendario</h1>';
$time = time();
echo '<h2>'. date("F-Y", $time). '<h2>';
echo 'Dia '. date("j: l", $time);
?>
</body>
</html>
Lo que no se es como hacer el bucle, para que repita la instruccion echo 'Dia '. date("j: l", $time); desde el primer dia del mes hasta el ultimo, ya que el ultimo puede ser 28, 29(si el año cae en año bisiesto), 30 o 31... no se si me explico.<html>
<head><title>Ejemplo aprenderaprogramar.com</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php
echo '<h1> Apartado a)</h1>';
//Apartado a)
$cadena = 'El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
$Array = count_chars ( $cadena, 1);
foreach ($Array as $indiceNum => $veces) {
echo 'Letra: '.chr($indiceNum).' , encontrada '. $veces.' veces<br/>';
}
?>
</body>
</html>
Pero esto cuenta todas las letras, no solo las vocales, o no solo las consonantes... y no encuentro como modificarlo para que haga lo que tiene que hacer
<html>
<head><title>Ejemplo aprenderaprogramar.com</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php
echo '<h1> Apartado a)</h1>';
//Apartado a)
$cadena = 'El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
$a = 0; $e = 0; $i = 0; $o = 0; $u = 0;
for ($cont=0; $cont<=strlen($cadena)-1; $cont++) {
switch ($cadena[$cont]) {
case 'a': case 'A':
$a++;
break;
case 'e': case 'E':
$e++;
break;
case 'i': case 'I':
$i++;
break;
case 'o': case 'O':
$o++;
break;
case 'u'; case 'U':
$u++;
break;
}
}
echo 'Letra: a encontrada '. $a.' veces<br/>';
echo 'Letra: e encontrada '. $e.' veces<br/>';
echo 'Letra: i encontrada '. $i.' veces<br/>';
echo 'Letra: o encontrada '. $o.' veces<br/>';
echo 'Letra: u encontrada '. $u.' veces<br/>';
echo '</br></br>';
echo '<h1> Apartado b)</h1>';
//Apartado b)
$cadena = 'El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
$b = 0; $c = 0; $d = 0; $f = 0; $g = 0; $h = 0;
$j = 0; $k = 0; $l = 0; $m = 0; $n = 0; $ñ = 0;
$p = 0; $q = 0; $r = 0; $s = 0; $t = 0; $v = 0;
$w = 0; $x = 0; $y = 0; $z = 0;
for ($cont=0; $cont<=strlen($cadena)-1; $cont++) {
switch ($cadena[$cont]) {
case 'b': case 'B':
$b++;
break;
case 'c': case 'C':
$c++;
break;
case 'd': case 'D':
$d++;
break;
case 'f': case 'F':
$f++;
break;
case 'g'; case 'G':
$g++;
break;
case 'h': case 'H':
$h++;
break;
case 'j': case 'J':
$j++;
break;
case 'k': case 'K':
$k++;
break;
case 'l': case 'L':
$l++;
break;
case 'm'; case 'M':
$m++;
break;
case 'n': case 'N':
$n++;
break;
case 'ñ': case 'Ñ':
$ñ++;
break;
case 'p': case 'P':
$p++;
break;
case 'q': case 'Q':
$q++;
break;
case 'r'; case 'R':
$r++;
break;
case 's': case 'S':
$s++;
break;
case 't': case 'T':
$t++;
break;
case 'v': case 'V':
$v++;
break;
case 'x': case 'X':
$x++;
break;
case 'y'; case 'Y':
$y++;
break;
case 'z'; case 'Z':
$z++;
break;
}
}
echo 'Letra: b encontrada '. $b.' veces<br/>';
echo 'Letra: c encontrada '. $c.' veces<br/>';
echo 'Letra: d encontrada '. $d.' veces<br/>';
echo 'Letra: f encontrada '. $f.' veces<br/>';
echo 'Letra: g encontrada '. $g.' veces<br/>';
echo 'Letra: h encontrada '. $h.' veces<br/>';
echo 'Letra: j encontrada '. $j.' veces<br/>';
echo 'Letra: k encontrada '. $k.' veces<br/>';
echo 'Letra: l encontrada '. $l.' veces<br/>';
echo 'Letra: m encontrada '. $m.' veces<br/>';
echo 'Letra: n encontrada '. $n.' veces<br/>';
echo 'Letra: ñ encontrada '. $ñ.' veces<br/>';
echo 'Letra: p encontrada '. $p.' veces<br/>';
echo 'Letra: q encontrada '. $q.' veces<br/>';
echo 'Letra: r encontrada '. $r.' veces<br/>';
echo 'Letra: s encontrada '. $s.' veces<br/>';
echo 'Letra: t encontrada '. $t.' veces<br/>';
echo 'Letra: v encontrada '. $v.' veces<br/>';
echo 'Letra: w encontrada '. $w.' veces<br/>';
echo 'Letra: x encontrada '. $x.' veces<br/>';
echo 'Letra: y encontrada '. $y.' veces<br/>';
echo 'Letra: z encontrada '. $z.' veces<br/>';
echo '</br></br>';
echo '<h1> Apartado c)</h1>';
//Apartado c)
$cadena = 'El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
echo str_replace("a", "*", $cadena);
echo '</br></br>';
echo '<h1> Apartado d)</h1>';
//Apartado d)
$cadena = 'El abecedario completo es algo largo y detallarlo exhaustivamente es costoso';
echo strstr($cadena, "es", false);
?>
</body>
</html>
Ovbiamente, seguro que los dos primeros apartados se pueden optimizar muchisimo, pero no he encontrado la manera.<html>
<head><title>Ejemplo aprenderaprogramar.com</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php
//Funcion procedimiento
function sumaCincoSin($n1, $n2, $n3, $n4, $n5) {
$tmp = $n1 + $n2 + $n3 + $n4 + $n5;
echo 'El resultado de sumar los cinco números recibidos es '.$tmp;
}
sumacincosin(1, 2, 3, 4, 5);
echo "</br>";
//Funcion con valor devuelto
function sumaCinco($n1, $n2, $n3, $n4, $n5) {
$tmp = $n1 + $n2 + $n3 + $n4 + $n5;
return $tmp;
}
echo 'El resultado de sumar los cinco números recibidos es ' .sumaCinco(2, 5, 1, 8, 10);
echo "</br>";
//Función volumen cilindro
function volumenCilindro($radiobase, $altura) {
$numeroPI = 3.1416;
$volmen = $numeroPI * $radiobase * $radiobase *$altura;
return $volmen;
}
echo 'El volumen del cilindro de base 2 metros y altura 3 metros es '.volumencilindro(2,3).' metros';
echo "</br>";
?>
</body>
</html>
<html>
<head><title>Ejemplo aprenderaprogramar.com</title></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
<?php
//Funcion procedimiento
function sumacincosin($resultado) {
echo $resultado;
}
$n1 = 1;
$n2 = 2;
$n3 = 3;
$n4 = 4;
$n5 = 5;
sumacincosin($n1 + $n2 + $n3 + $n4 + $n5);
echo "</br>";
//Funcion con valor devuelto
function sumacinco($n1, $n2, $n3, $n4, $n5) {
$tmp = $n1 + $n2 + $n3 + $n4 + $n5;
return $tmp;
}
echo sumacinco(2, 5, 1, 8, 10);
echo "</br>";
//Función volumen cilindro
function volumencilindro($radiobase, $altura) {
$numeroPI = 3.1416;
$volmen = $numeroPI * $radiobase * $radiobase *$altura;
echo "El volumen del cilindro es: ";
return $volmen;
}
echo volumencilindro(2, 4);
echo "</br>";
?>
</body>
</html>
Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.
Abraham Lincoln (1808-1865) Presidente estadounidense.
aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación