Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: XXXXXX en 14 Junio 2010, 01:04 am



Título: Puedo o no hacer esto?
Publicado por: XXXXXX en 14 Junio 2010, 01:04 am
por cierto tengo otra duda mas....

tengo un campo que tiene 10 tipos distintos ok?

1 = TOMATE
2 = ANCHOAS
3 = BLABLA
4= TUTUT
5= TAOTAOTKA
6...ETC


ok?

podria poner esto

Código:
$result = mysql_query( "SELECT name, '$class', FROM `char`")
or die("SELECT Error: ".mysql_error());
$num_rows = mysql_num_rows($result);
print "There are $num_rows records.<P>";
print "<table width=200 border=1>\n";
while ($get_info = mysql_fetch_row($result)){
print "<tr>\n";
foreach ($get_info as $field)
print "\t<td><font face=arial size=1/>$field</font></td>\n";
print "</tr>\n";
}
print "</table>\n";

y luego poner que $class =
si es el numero
5450 por ejemplo = Conguitos
5444 = lacasitos....etc

vamos que cuando me lee la tabla class, me salen numeros, esos numeros en realidad tienen un significado, hay un total de unos 10 o 15 distintos.

cada uno de ellos significaria 1 cosa, podria hacer yo, que si el que esta leyendo es por ejemplo el 5860 me cambiara por el nombre que yo le quiera poner.

seria posible, no se si me explico xD


Título: Re: Puedo o no hacer esto?
Publicado por: Shell Root en 14 Junio 2010, 02:05 am
1. Tienes un error aquí
Código
  1. $result = mysql_query( "SELECT name, '$class', FROM `char`")
Cambiar por:
Código
  1. $result = mysql_query( "SELECT name, '$class' FROM `char`")
PD: No se que es $class

2. No entendí bien, pero investiga la sentencia INNER JOIN.


Título: Re: Puedo o no hacer esto?
Publicado por: ~ Yoya ~ en 14 Junio 2010, 02:13 am
Aver, no se bien lo que quieres cambiar...
Quieres cambiar el dato de la bd...
O que si x numero vale x valor, php muestre x nombre...

En la primera opcion, puedes usar un update dentro de un if que verifique el numero y luego hacer el update hacia la bd...

En la segunda opción puedes hacer un simple switch xD...
Código
  1. <?php
  2. $a = $_GET['i']|1;
  3.  
  4. switch($a) {
  5.    case 1:
  6.           echo "Tomate";
  7.           break;
  8.    case 2:
  9.           echo "Maiz";
  10.           break;
  11.    default:
  12.            echo "nada xD";
  13.  
  14.  
  15. }
  16. ?>
  17.  
  18.  
  19.  
  20.  


Título: Re: Puedo o no hacer esto?
Publicado por: XXXXXX en 14 Junio 2010, 02:13 am
bien, intentare explicarme lo mejor que pueda.

$class << bien, dentro de la table la id class, tiene 10 tipos distintos de numeros.

si imprimo asi sin mas me saca los numeros directamente.

por ejemplo si se selecciono el numero el boton tal, salio el numero 10 y si se lecciono el boton cual, salio el numero 24, asta aqui todo bien.

la cosa es que me gustaria que envez de imprimir el numero, yo puediera indicarle a ese codigo, que cambiara ese numero por una letra ej:

$class=
10 = A;
24 = B;
y los que vengan despues.

yo e pensado que si ponia
Código:
$result = mysql_query( "SELECT name, '$class', FROM `char`")

pasaria el numero a letra, o algo asi, osea, envez de imprimir 10 imprimiria A.

mirare eso del INNER JOIN


Título: Re: Puedo o no hacer esto?
Publicado por: Shell Root en 14 Junio 2010, 02:26 am
mmm Esos datos de 10 = A; 11 = B;etc... Están dentro de la base de datos? o los quieres hacer mediante código?, porque de no estar en la base de datos, no te serviría el INNER JOIN, pero si te serviría lo que te dijo Yoya de la sentencia switch.


Título: Re: Puedo o no hacer esto?
Publicado por: XXXXXX en 14 Junio 2010, 02:50 am
no no yo quero que cuando lea X numero, me lo pase al nombre que yo le tenga definido en el php

en el caso del 10 = tomate por ejemplo xD

y como tendria que usar su sentencia? como aplicarlo a mi codigo?


Título: Re: Puedo o no hacer esto?
Publicado por: Shell Root en 14 Junio 2010, 02:55 am
Te puso un ejemplo básico, adaptalo a tus necesidades. No es tan difícil, identifica en que variable recibes el valor y reemplazas la variable aquí
Código
  1. switch($tuVariable) {
  2.  case 1:
  3.    echo "Tomate";
  4.    break;
  5.  case 2:
  6.    echo "Anchoas";
  7.    break;
  8.  /* Resto de ítems */
  9. }


Título: Re: Puedo o no hacer esto?
Publicado por: XXXXXX en 14 Junio 2010, 03:05 am
entonces seria...

switch($class) {
  case 1:
    echo "Tomate";
    break;
  case 2:
    echo "Anchoas";
    break;
  /* Resto de ítems */
}
y leeria
$result = mysql_query( "SELECT name, $class, FROM `char`")

el class de cuando llama a la db?

PD: siento ser tan zopenco, pero aun no comprendo muy bien como funciona xD


Título: Re: Puedo o no hacer esto?
Publicado por: Shell Root en 14 Junio 2010, 06:29 am
Ehh?, a ver, entonces la consulta SQL quedaría así:
Código
  1. SELECT name, Tomate FROM `char`;

Porque con un simple análisis básico, cualquiera puede saber de que no existe un campo llamado Tomate o Anchoas. En todo caso, no usaste bien el switch. Aun no te diré como se usaría en tu aplicación, ya que como dije al inicio no existiría un campo llamado Tomate o Anchoas.


Título: Re: Puedo o no hacer esto?
Publicado por: [u]nsigned en 15 Junio 2010, 05:22 am
Mira, yo te diria que te rees un array cuyo clave sea un numero  (correspondiendose con los posibles numeors en la tabla) y el valor de cada item del array sea la palabra, por ejemplo:

$MisVariablesLocas[1] = "TOMATE";
$MisVariablesLocas[2] = "ANCHOAS";
$MisVariablesLocas[3]= "BLABLA";
$MisVariablesLocas[4]= "TUTUT";
$MisVariablesLocas[5]= "TAOTAOTKA";

Citar
Se que hay formas mas eficientes de definir un array, pero lo he hecho asi para que sea lo mas explicito posible  :¬¬
Bueno, no voy aentrar encodigo php porque veo que tenes un lio con el mismo, y la verdad te recomedaria (re)leer un poco de  PHP+MySQL.

Pero la idea basicamente consiste que si de la consulta obtenes el numero 3 (que equivaldría a "BLABLA"),y este esta almacenado en la variable $numeroquemetiroelcodigo tenes que hacer asi e tu codigo  PHP:

Código
  1. echo $MisVariablesLocas[$numeroquemetiroelcodigo];

Y lesto, osea solo reemplazas el indice del array por el numero obtenido en la consulta a la base de datos.  ;D