Article View: chile.comp.programacion
Article #3002Re: limite de nombre de tabla mysql?
From: Jos� Miguel Santib��ez
Date: Wed, 08 Jun 2005 06:27
Date: Wed, 08 Jun 2005 06:27
139 lines
6029 bytes
6029 bytes
En el cap�tulo anterior (news:d862u5$h0l$1@news1.nivel5.cl), "Rick_oj"
<rick_oj@[sin-esto]tutopia.com> dijo:
> En las news:Xns966F1553BB2DFjmsnews@200.27.221.71, a Jos� Miguel
> Santib��ez se le ocurrio
> tipear:
>> En el cap�tulo anterior (news:d86000$fuf$1@news1.nivel5.cl),
>> "Rick_oj" <rick_oj@[sin-esto]tutopia.com> dijo:
>>
>>> En las news:Xns966F77A69BABjmsnews@200.27.221.71, a Jos� Miguel
>>> Santib��ez se le ocurrio
>>> tipear:
>>>> En el cap�tulo anterior (news:d85jpp$c0a$1@news1.nivel5.cl),
>>>> "Rick_oj" <rick_oj@[sin-esto]tutopia.com> dijo:
>>>>
>>>>> aca el codigo como lo tengo
>>>>> <HTML>
>>>>> <?
>>>>> if ( isset($_POST['nombre']) && isset($_POST['atributo']) &&
>>>>> isset($_POST['entrenada']) && isset($_POST['descripcion']) &&
>>>>> isset($_POST['prueba']) )
>>>>> {
>>>>> require_once('Connections\juego.php');
>>>>> $nombre=$_POST['nombre'];
>>>>> $atributo=$_POST['atributo'];
>>>>> $entrenada=$_POST['entrenada'];
>>>>> $descripcion=$_POST['descripcion'];
>>>>> $prueba=$_POST['prueba'];
>>>>> $repetir=$_POST['repetir'];
>>>>> $especial=$_POST['especial'];
>>>>> $sinergia=$_POST['sinergia'];
>>>>> mysql_select_db($database_juego, $juego);
>>>>> $query_habil = "SELECT * FROM habilidades";
>>>>> $filas = mysql_query($query_habil, $juego) or die(mysql_error());
>>>>> $numero = mysql_fetch_assoc($filas);
>>>>> $numero++;
>>>>
>>>> Debo entender que nombre y numero son llave primaria de
>>>> habilidades?
>>>
>>> nombre es la llave primaria, numero lo que hace es un auto_increment
>>> antes lo tenia asi, y me dio mas errores si que opte por asignarlos
>>> "manualmente"
>>
>> Hmmm... hasta donde recuerdo, en MySQL un auto_increment _debe_ ser
>> la �nica llave primaria para que funcione como tal... (no se si
>> cambi� en versiones 4 o 5)...
>
> asi es el auto_incremente debe ser llave primaria antes lo tenia asi,
> pero lo elimine por que me arrojaba un error que no recuerdo ya cual
>
>>
>> Pero si ya tienes una llave primaria, para que quieres el
>> auto_increment (aunque sea manual?)
>
> necesito un campo que se vaya incrementando a medida que se ingresen
> datos
>
>>
>>>> En ese caso, la anterior es una muy mala opci�n, sugiero:
>>>>
>>>> $query_habil = "SELECT max(numero) as c
>>>> FROM habilidades
>>>> where nombre='$nombre'";
>>>> $rc = mysql_query($query_habil);
>>>> $fc = mysql_fecth_assoc($rc);
>>>> $numero = $fc['c'] + 1;
>>>
>>> debe estar ese where? por que simplemente quiero asignar numero
>>> correlativos no buscar por los datos que ya estan en la tabla,
>>> ademas nombre es unico
>>
>> surgi� solo porque cre� que nombre y n�mero eran _en_conjunto_ la
>> llave primaria...
>
> no solo nombre es llave primaria en todo caso lo probe sin el where y
> en sentencia entrega el numero que debe entregar, pero en php es otra
> cosa no funciona
>
>>
>>>>> $filas = mysql_query($query_habil, $juego) or die(mysql_error());
>>>>> $numero = mysql_fetch_assoc($filas);
>>>>
>>>> Esta si que fue mala... $numero es un array, dej� de ser un
>>>> entero... esas dos l�neas dejan "la cag�"...
>>>
>>> toda la razon
>>> tendria que haber sido "mysql_num_rows"?
>>
>> hmmm.. No es muy deseable por dos motivos:
>> a) el mysql_query trae _toda_ la respuesta y la deja en el buffer
>> (castigo a la m�quina).
>> b) existe la posibilidad de que te hayan borrado tuplas entre medio,
>> con eso el mysql_num_rows va a devolver un valor menor que el �ltimo
>> en la tabla, incluso repetido...
>
> habia pensado en la posibilidad de que me habia borrado tuplas, creo
> que por eso lo habia cambiado
>
>>
>>>>> $insert_habil="insert into habilidades
>>>>
>>>> Considerando que tienes problemas con el insert, aseg�rate que la
>>>> tabla tiene esa disposici�n, yo me asegurar�a colocando los nombres
>>>> de los campos:
>>>
>>> si tiene esa disposicion pero para evitar errores futuros voy a
>>> colocar los nombres de los campos
>>
>> siempre es m�s seguro... Si despu�s te agregan un campo, aunque
>> acepte nulos, si colocas los campos el insert sigue funcionando...
>>
>>
>> eso...
>>
>> Hope this help...
>
> extra�amente sigue sin funcionar probe con
>
> $query_habil = "SELECT max(id) as c FROM habilidades";
> $rc = mysql_query($query_habil);
> echo $rc; //aqui me entrega "resource id#4"
y que dice mysql_error() ?
> $fc = mysql_fecth_assoc($rc);
> $numero = $fc['c'] + 1;
> echo $numero; //aqui ya no mostro nada
>
> bueno me la gano el sue�o, ma�ana sigo con el dolor de cabeza :S
>
ok...
--
Jose M. Santiba�ez A.
<jms@nivel5.cl>
<http://caos.cl/jms>
Technical Details
Message-ID:
<Xns966F18A0C359Fjmsnews@200.27.221.71>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!news.vcd.cl!not-for-mailReferences:
<d8014g$s2j$1@news1.nivel5.cl> <Xns966CED532166Cjmsnews@200.27.221.71> <d82ida$gmj$1@news1.nivel5.cl> <Xns966DED0247909jmsnews@200.27.221.71> <d84kra$2dd$1@news1.nivel5.cl> <d85jpp$c0a$1@news1.nivel5.cl> <Xns966F77A69BABjmsnews@200.27.221.71> <d86000$fuf$1@news1.nivel5.cl> <Xns966F1553BB2DFjmsnews@200.27.221.71> <d862u5$h0l$1@news1.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,9d01f1f59e32cdd3
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Newsgroups: chile.comp.programacion
Subject: Re: limite de nombre de tabla mysql?
From: "Jos� Miguel Santib��ez" <jms@nospam.nivel5.cl>
References: <d8014g$s2j$1@news1.nivel5.cl> <Xns966CED532166Cjmsnews@200.27.221.71> <d82ida$gmj$1@news1.nivel5.cl> <Xns966DED0247909jmsnews@200.27.221.71> <d84kra$2dd$1@news1.nivel5.cl> <d85jpp$c0a$1@news1.nivel5.cl> <Xns966F77A69BABjmsnews@200.27.221.71> <d86000$fuf$1@news1.nivel5.cl> <Xns966F1553BB2DFjmsnews@200.27.221.71> <d862u5$h0l$1@news1.nivel5.cl>
Organization: Caos Consultores
Message-ID: <Xns966F18A0C359Fjmsnews@200.27.221.71>
User-Agent: Xnews/5.04.25
X-Face: +|NgjgFM{<rs%\Q|vUu16]a6,}?MJTA<!PEEI+x&Gw-Gyq+?$}fvo+.(,-r;)~Qzn)#{{nxU,OT?w^s<7m4ckCJ*L$c#I)yHL7b)GdU*#l
NNTP-Posting-Host: 85-58-112.adsl.terra.cl
Date: 8 Jun 2005 02:27:56 -0400
X-Trace: news.vcd.cl!not-for-mail 1118208476 85-58-112.adsl.terra.cl (8 Jun 2005 02:27:56 -0400)
Lines: 139
X-Authenticated-User: jms
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!news.vcd.cl!not-for-mail