Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - дٳŦ٭

#291
PHP / Re: Ordenar registros
13 Julio 2009, 20:05 PM
Ya pude xDDDD

Se los dejo por si lo llegan a usar:

Código (php) [Seleccionar]

<?php
//--------------------------------------------------------------+
// Include module settings |
//--------------------------------------------------------------+
require_once("settings.php");
//--------------------------------------------------------------+
// Case Up |
//--------------------------------------------------------------+
if($var['order']=="up"){
//--------------------------------------------------------------+
// First get the pre Number ID slot |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "SELECT slot FROM `banner` WHERE `id_banner` ='".$var['idpreslot']."'"
//echo $DBQuery->attrib['query'];
$getPreSlot $DBQuery->RunQuery();

//--------------------------------------------------------------+
// Update the pre item with last number ID slot |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "UPDATE `banner` SET `slot` = '".$var['slot']."' WHERE `id_banner` ='".$var['idpreslot']."'";
//echo $DBQuery->attrib['query'];
$upPreSlot=$DBQuery->RunQuery();

//--------------------------------------------------------------+
// As finaly, update the item with pre number ID slot |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "UPDATE `banner` SET `slot` = '".$getPreSlot[0]['slot']."' WHERE `id_banner` ='".$var['id_banner']."'";
//echo $DBQuery->attrib['query'];
$upSlot=$DBQuery->RunQuery();
}
//--------------------------------------------------------------+
// Case Down |
//--------------------------------------------------------------+
if($var['order']=="down"){
//--------------------------------------------------------------+
// First get the next Number ID slot and ID_banner |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "SELECT id_banner, slot FROM `banner` WHERE `slot` ='".$var['idnextslot']."'"
//echo $DBQuery->attrib['query']."<br>";
$getNextSlot $DBQuery->RunQuery();

//--------------------------------------------------------------+
// Update the original entry with the new id_slot  |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "UPDATE `banner` SET `slot` = '".$var['idnextslot']."' WHERE `id_banner` ='".$var['id_banner']."'";
//echo $DBQuery->attrib['query']."<br>";
$downSlot=$DBQuery->RunQuery();

//--------------------------------------------------------------+
// Update the entry target with the old slot  |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "UPDATE `banner` SET `slot` = '".$var['slot']."' WHERE `id_banner` ='".$getNextSlot[0]['id_banner']."'";
//echo $DBQuery->attrib['query']."<br>";
$downSlot=$DBQuery->RunQuery();

}

Location("index.php?action=".$lo_mod_name.".banshort");
?>



Igual y no le entienden porque es parte de un FM que estoy haciendo pero bueno, cualquier consejo es bienvenido  :)
#292
PHP / Ordenar registros
13 Julio 2009, 19:41 PM
Hola PHPecheros,

Tengo una duda, que más que duda siento es error de lógica:

Tengo una tabla "banner":


mysql> describe banner;
+---------------+------------------+------+-----+---------+----------------+
| Field         | Type             | Null | Key | Default | Extra          |
+---------------+------------------+------+-----+---------+----------------+
| id_banner     | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| nombre        | varchar(45)      | YES  |     | NULL    |                |
| archivo       | varchar(200)     | YES  |     | NULL    |                |
| thumbnail     | varchar(200)     | YES  |     | NULL    |                |
| ventana_nueva | tinyint(1)       | YES  |     | NULL    |                |
| url           | varchar(255)     | YES  |     | NULL    |                |
| activo        | tinyint(1)       | YES  |     | 1       |                |
| borrado       | tinyint(1)       | YES  |     | 0       |                |
| altura        | int(11)          | NO   |     |         |                |
| anchura       | int(11)          | NO   |     |         |                |
| defront       | tinyint(1)       | NO   |     |         |                |
| slot          | int(10) unsigned | NO   | UNI |         |                |
+---------------+------------------+------+-----+---------+----------------+
12 rows in set (0.00 sec)


En donde verán un campo llamado slot(int) que sirve para almacenar de 1 a N (sin que se repitan), esto se hace para ordenar de forma visual mis registros. La duda radica es cómo hacer un manager para controlar el orden.

Lo que hice fue hacer una lista con un par de flechas por cada registro, si es el slot==1 no pongo la flecha hacia "arriba", y de igual forma si es el último slot no pongo la que apunta hacia abajo.

La funcionalidad de "subir" ya quedó OK, sin embargo la bajada nop..  :-\

Los parámetros que mando por cada registro en el link son:

order=down&id_banner=1&slot=1&idnextslot=2

Donde id_banner es el ID del registro, el slot es el número de slot que tiene y el idnextslot es el slot siguiente.

En mis querys tengo lo siguiente:

Código (php) [Seleccionar]

//--------------------------------------------------------------+
// Case Down |
//--------------------------------------------------------------+
if($var['order']=="down"){
//--------------------------------------------------------------+
// First get the next Number ID slot and ID_banner |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "SELECT id_banner, slot FROM `banner` WHERE `id_banner` ='".$var['idnextslot']."'";
//echo $DBQuery->attrib['query']."<br>";
$getNextSlot = $DBQuery->RunQuery();

//--------------------------------------------------------------+
// Update the original entry with the new id_slot |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "UPDATE `banner` SET `slot` = '".$var['idnextslot']."' WHERE `id_banner` ='".$var['id_banner']."'";
//echo $DBQuery->attrib['query']."<br>";
$downSlot=$DBQuery->RunQuery();

//--------------------------------------------------------------+
// Update the entry target with the old slot |
//--------------------------------------------------------------+
$DBQuery->attrib['query'] = "UPDATE `banner` SET `slot` = '".$var['slot']."' WHERE `id_banner` ='".$getNextSlot[0]['id_banner']."'";
//echo $DBQuery->attrib['query']."<br>";
$downSlot=$DBQuery->RunQuery();

}


Simplemente no funciona.. me actualiza los registros mal  :xD  :-\, me pone slot's elevados y a veces menores. A ver si me podeis echar un cable.. gracias  :)
#293
Gracias.
#294
php? por qué no preguntaste ahí?? nl2br();...
#295
PHP / Re: Error muy raro
9 Julio 2009, 02:23 AM
Cita de: naderST en  9 Julio 2009, 01:18 AM
Cita de: дٳŦ٭ en  8 Julio 2009, 06:28 AM
raro?, no tenias el mysql corriendo...  ;-)

Si estaba corriendo O.o

Nop, o no lo tenias en el 3306 o el fw de windows te estaba bloqueando..
#296
PHP / Re: Error muy raro
8 Julio 2009, 06:28 AM
raro?, no tenias el mysql corriendo...  ;-)
#297
PHP / Re: subir archivos via php
8 Julio 2009, 06:26 AM
Usa $_FILES.
#298
Sí, sí estaba mal XD pero ahí tiene la versión que funciona  :silbar:
#299
RFI....
#300
Si no tienes patrones repetidos en el string usa explode, Saludos.