Punto final en un array
Hace unos días te preguntaba sobre reiteración de un campo, pregunta que quedo plenamente contestada. Vuelvo a la carga para intentar perfeccionar el script.
Actualmente este script sale como yo quería, una vez el idioma y a continuación los nombres vernáculos de ese idioma, pero tengo un problema, entre nombre vulgar intercalo una coma para diferenciarlos y no se como decirle al script que cuando sea el último en vez de coma me ponga un punto. Con la coma final queda fatal y denota la falta de profesionalidad de la que en realidad carezco.
Ejemplo de cómo sale:
Castellano: abridor, albaricoque, albaricoquero, albarillo, albérchigo, alberchiguero, alberge, albergero, damasco, damasquillo, prisco, prisco,
Catalán: abrecoquer, albercoc, albercoquer, alberge, albergener, albracoquer, ambercoc, ambercoquer,
Euskera: abrikota, abrikotondoa, albarikokea, arbeletxekoa, briska, briskondoa, tuaxa, tuaxatze,
Como me gustaría que saliera:
Castellano: abridor, albaricoque, albaricoquero, albarillo, albérchigo, alberchiguero, alberge, albergero, damasco, damasquillo, prisco, prisco.
Catalán: abrecoquer, albercoc, albercoquer, alberge, albergener, albracoquer, ambercoc, ambercoquer.
Euskera: abrikota, abrikotondoa, albarikokea, arbeletxekoa, briska, briskondoa, tuaxa, tuaxatze.
El script que tengo y que tú me proporcionastes es:
Actualmente este script sale como yo quería, una vez el idioma y a continuación los nombres vernáculos de ese idioma, pero tengo un problema, entre nombre vulgar intercalo una coma para diferenciarlos y no se como decirle al script que cuando sea el último en vez de coma me ponga un punto. Con la coma final queda fatal y denota la falta de profesionalidad de la que en realidad carezco.
Ejemplo de cómo sale:
Castellano: abridor, albaricoque, albaricoquero, albarillo, albérchigo, alberchiguero, alberge, albergero, damasco, damasquillo, prisco, prisco,
Catalán: abrecoquer, albercoc, albercoquer, alberge, albergener, albracoquer, ambercoc, ambercoquer,
Euskera: abrikota, abrikotondoa, albarikokea, arbeletxekoa, briska, briskondoa, tuaxa, tuaxatze,
Como me gustaría que saliera:
Castellano: abridor, albaricoque, albaricoquero, albarillo, albérchigo, alberchiguero, alberge, albergero, damasco, damasquillo, prisco, prisco.
Catalán: abrecoquer, albercoc, albercoquer, alberge, albergener, albracoquer, ambercoc, ambercoquer.
Euskera: abrikota, abrikotondoa, albarikokea, arbeletxekoa, briska, briskondoa, tuaxa, tuaxatze.
El script que tengo y que tú me proporcionastes es:
$result = mysql_query("SELECT IDIOMA,NOM_VER,ZONA FROM web_vulgares Where ".$criterio." ORDER BY IDIOMA,NOM_VER", $conexion); $reg = mysql_numrows($result); $idioma = ""; if ($reg > 0) { echo (" <table border=1 bgcolor='#ffffff' cellpadding='3'> <tr> <td colspan='3' bgcolor='#DDDDDD' align=center><b> <font color='#800000' face='Arial' size='2'>Nombres vernáculos del táxon <i></font><font face='Arial' size='2'> \"".$gen." ".$espe."</i> ".$infrank." <i>".$infra."\"</font></i></b></td> </tr> "); while($registro = mysql_fetch_assoc($result)) { // Como sólo queremos mostrar el idioma una vez, estaremos atentos a si cambia // La primera vez seguro que cambia, puesto que el valor de inicialización está vacio y también cambiará cada vez que cambie el idioma if ($idioma != $registro["IDIOMA"]) { // La primera vez no hemos de hacer nada, pero las otras veces, debemos cerrar las etiquetas convenientemente. Es lo que hacemos. Como el if no lleva corchetes, sólo ejecutará la primera línea en caso de validar la condición a true. If ($idioma != "") echo "</font></td> </tr> "; // Esta línea sólo se ejecuta si $idioma no está vacía echo " <tr> <td bordercolor=#FFFFFF align=left><font face='Arial' size='2'>"; $idioma=ucfirst($registro["IDIOMA"]); echo "<b>".$idioma.":</b> "; // Mostramos el idioma y empezamos la siguiente casilla } $idioma = $registro["IDIOMA"]; // Actualizamos el idioma actual if ($registro["ZONA"] != null) {$vernaculo = $registro["NOM_VER"]."(".$registro["ZONA"]."), ";} else {$vernaculo = $registro["NOM_VER"].", ";} echo $vernaculo; // Mostramos el nombre con su zona si la hubiera } // Cuando hemos acabado con todos los registros, cerramos la casilla y la tabla echo "</font></td> </tr> </table> "; }
1 Respuesta
Respuesta de davidcortesb
1