martes, 24 de mayo de 2011

Wordpress: Fatal error: Allowed memory size of 33554432 bytes exhausted

Estaba probando instalar un plugin para Wordpress en el hosting, y de repente ya no me cargaba el sitio y solo aparecía el siguiente error:

Fatal error: Allowed memory size of 33554432 bytes exhausted

La solución es simple. Se edita el archivo wp-settings.php agregando la siguiente línea para incrementar la memoria (en este caso al doble):

ini_set("memory_limit","64M");

Según leí en algunos foros, a veces la cantidad de tablas en la BD o la complejdiad de ellas, puede causar un incremento en la memoria requerida.

lunes, 16 de mayo de 2011

PHP: Desplegar datos de cualquier tabla MySQL


Si alguna vez necesitan hacer una página rápida de prueba para desplegar los datos de cualquier tabla MySQL, aquí les dejo esté código que encontré en este post. Solamente hay que cambiar los datos de conexión y la tabla que desean desplegar.

<?php

//MyDB represents the name of your database.
//MyTable represents the name of your table inside the database.

mysql_connect("localhost","my_user","my_pass") or die("Unable to connect to SQL server");
@mysql_select_db("my_database") or die("Unable to select database");


$result = mysql_query("select * from MY_TABLE limit 500");
?>
<table border="1">
<tr>
<?php


while ($field=mysql_fetch_field($result)) {
echo "<th>";
echo "$field->name";
echo "</th>";
}
echo "</tr>";

while ($row = mysql_fetch_row($result)) {
echo "<tr>";
for ($i=0; $i<mysql_num_fields($result); $i++) {
echo "<td>";
if (isset($row[$i]))
echo "$row[$i]";
else
echo "-";
echo "</td>";
}
echo "</tr>\n";
}

echo "</table>";

?>

martes, 3 de mayo de 2011

TortoiseSVN: Evitar esa molesta ventana para colocar la contraseña

(In English: "TortoiseSVN: Avoid password prompting")

Este es un truco muy conocido entre los usuarios de esta herramienta. Uno se pregunta porque no agregan una opción para recordar contraseña como es lo más lógico y común.

Lo que uno hace es abrir la configuración de red y en la parte de network se coloca el path del cliente de SSH que es el mismo "TortoisePlink.exe". Se agrega al final los parametros de login:

TortoiseSVN\bin\TortoisePlink.exe" -l gabriel.solano -pw myPsw

lunes, 2 de mayo de 2011

JQuery: Leer un XML y asignarlo a un arreglo asociativo

(In English: "Read XML into an associative array with JQuery")

Dejo a la disposición un pequeño ejemplo para leer un XML y asignar los datos a un arreglo asociativo de JavaScript (en dos dimensiones) usando JQuery.

Este es el XML de ejemplo:
<catalog>
<cd id="cd-001">
<param name="title" value="Empire Burlesque" />
<param name="artist" value="Bob Dylan" />
<param name="country" value="USA" />
<param name="company" value="Columbia" />
<param name="price" value="10.90" />
<param name="year" value="1985" />
</cd>
<cd id="cd-002">
<param name="title" value="Hide your heart" />
<param name="artist" value="Bonnie Tyler" />
<param name="country" value="UK" />
<param name="company" value="CBS Records" />
<param name="price" value="9.90" />
<param name="year" value="1988" />
</cd>
<cd id="cd-003">
<param name="title" value="Greatest Hits" />
<param name="artist" value="Dolly Parton" />
<param name="country" value="USA" />
<param name="company" value="RCA" />
<param name="price" value="9.90" />
<param name="year" value="1982" />
</cd>
</catalog>

Y el código HTML/JQuery:
<html>
<head>
<title>XML into associative array with JQuery</title>
<script type="text/javascript" src="jquery-1.5.2.min.js"></script>
<script type="text/javascript">
var cdArray = new Array(); // Will hold the XML data.

// Request to XML.
$.ajax({
type: "GET",
url: "cd-catalog.xml",
dataType: "xml",
async: false,
success: readXMLIntoArray
});

/**
Move XML data into associative array.
*/
function readXMLIntoArray(xml) {
$(xml).find('cd').each(function(){
var id = $(this).attr('id');
var parametersArray = new Array();
$(this).find('param').each(function(){

var name = $(this).attr('name');
var value = $(this).attr('value');

parametersArray[name] = value;
});
cdArray[id] = parametersArray;
});
}

// Testing array
document.write("<p>Title:" + cdArray["cd-002"]["title"] + "</p>");
document.write("<p>Artist:" + cdArray["cd-002"]["artist"] + "</p>");

</script>
</head>
<body>
</body>
</html>

Salida:

Title:Hide your heart

Artist:Bonnie Tyler