Puedo o no hacer esto?

Iniciado por XXXXXX, 14 Junio 2010, 01:04 AM

0 Miembros y 1 Visitante están viendo este tema.

XXXXXX

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

Shell Root

1. Tienes un error aquí
Código (php) [Seleccionar]
$result = mysql_query( "SELECT name, '$class', FROM `char`")
Cambiar por:
Código (php) [Seleccionar]
$result = mysql_query( "SELECT name, '$class' FROM `char`")
PD: No se que es $class

2. No entendí bien, pero investiga la sentencia INNER JOIN.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

~ Yoya ~

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 (php) [Seleccionar]

<?php
$a 
$_GET['i']|1;

switch(
$a) {
    case 
1:
           echo 
"Tomate";
           break;
    case 
2:
           echo 
"Maiz";
           break;
    default:
            echo 
"nada xD";
            
            
}
?>




Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.

XXXXXX

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

$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

Shell Root

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.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

XXXXXX

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?

Shell Root

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 (php) [Seleccionar]
switch($tuVariable) {
 case 1:
   echo "Tomate";
   break;
 case 2:
   echo "Anchoas";
   break;
 /* Resto de ítems */
}
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

XXXXXX

#7
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

Shell Root

#8
Ehh?, a ver, entonces la consulta SQL quedaría así:
Código (sql) [Seleccionar]
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.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

[u]nsigned

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";

CitarSe 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 (php) [Seleccionar]
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

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!