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!
Aprende Java con el libro "Aprender a programar en Java desde cero. Curso paso a paso." Editorial aprenderaprogramar. com. 200 pgs. Disponible en papel y ebook.
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