Article View: chile.comp.programacion
Article #3001Re: limite de nombre de tabla mysql?
From: Rickoj
Date: Wed, 08 Jun 2005 06:26
Date: Wed, 08 Jun 2005 06:26
122 lines
5553 bytes
5553 bytes
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"
$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
Technical Details
Message-ID:
<d862u5$h0l$1@news1.nivel5.cl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.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>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,9d01f1f59e32cdd3 X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!news.glorb.com!nntp-server.pubsub.com!news1.nivel5.cl!not-for-mail From: "Rick_oj" <rick_oj@[sin-esto]tutopia.com> Newsgroups: chile.comp.programacion Subject: Re: limite de nombre de tabla mysql? Date: Wed, 8 Jun 2005 02:26:50 -0400 Organization: Varios Lines: 124 Message-ID: <d862u5$h0l$1@news1.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> NNTP-Posting-Host: pc-97-201-120-200.cm.vtr.net X-Trace: news1.nivel5.cl 1118211845 17429 200.120.201.97 (8 Jun 2005 06:24:05 GMT) X-Complaints-To: news@news1.nivel5.cl NNTP-Posting-Date: Wed, 8 Jun 2005 06:24:05 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1478 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1478