PHP - Identificas fila en consulta

 
Vista:
sin imagen de perfil

Identificas fila en consulta

Publicado por Luis Paredes (6 intervenciones) el 19/11/2016 06:05:47
Hola amigos, ojala alguien me pueda ayudar.

tengo esta parte de mi codigo que funciona correctamente.... la cosa es que ocupo identificar en la tabla a la fila numero dos y mostrar en esta fila un mensaje y no se como hacerlo.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$ref =mysqli_query($connect, "SELECT * FROM tabla WHERE referencia='$micodigo'") or die ("error al consultar");
while ($Ref = mysqli_fetch_array($ref))
{
?>
	<tr>
           <td bgcolor=<?php echo $color; ?> ><?php echo $Ref['user']; ?></td>
           <td bgcolor=<?php echo $color; ?> ><?php echo $Ref['date']; ?></td>
           <td bgcolor=<?php echo $color; ?> ><?php echo $Ref['email']; ?></td>
         </tr>
<?php
}
?>

La cosa es que el proyecto que estoy haciendo es un sistema de afiliados, en la consulta reviso todos los qe se hayan registrado con mi codigo de afiliado se muestre en la tabla... pero como digo ocupo identificar y mostrar n mensaje siempre que la persona que se haya registrado con mi codigo sea la numero 2.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Identificas fila en consulta

Publicado por Lawliet (351 intervenciones) el 19/11/2016 22:31:00
Hola...

Podrías dar un poco más de detalles con respecto a tu situación ya que no entiendo muy bien a que te refieres con mostrar a la fila número dos... Esto significa... ¿Mostrar el registro que se encuentra en la fila número dos o mostrar el registro con el código 2?

Sin más que comentar, estamos al pendiente de las dudas y/o comentarios.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Identificas fila en consulta

Publicado por Luis Paredes (6 intervenciones) el 20/11/2016 03:16:46
El proyecto que estoy haciendo es un sistema de afiliados y la idea es que siempre la segunda persona que se afilie con mi numero se va a registrar con mi código pero también se va registrar con el código de la persona que me invito a mi... es decir que la segunda persona que se registre con migo se la voy a regalar a mi patrocinador...

ya logré hacerlo de la siguiente manera en la repetición de las filas en la tabla, lo dejo por aqui por si a alguien mas le sirve la idea..

1
2
3
4
5
6
$ref =mysqli_query($connect, "SELECT * FROM tabla WHERE referencia='$codigo'") or die ("error al consultar");
 
			while ($Ref = mysqli_fetch_array($ref))
 
//esot lo puse en una de las filas de la tabla 
<td ><?php if ($Ref['referencia2'] <>"") {echo "No te deposita";} else { echo $dia[2]; } ?></td>

// el $dia[2] es el día que extraje con explode de la fecha en que se registro el susuario

no se si me explico... pero por aqui dejo una imagen de como era la cosa...
filas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Identificas fila en consulta

Publicado por Lawliet (351 intervenciones) el 20/11/2016 06:20:14
Hola...

La segunda persona que se afilie con mi numero se va a registrar con mi código pero también se va registrar con el código de la persona que me invito a mi"

Como dice el enunciado, esa lógica de registro se va a realizar solamente cuando la persona ingreso el número por segunda vez, por lo que yo entendería lo siguiente.

a) En tu base de datos en la tabla correspondiente, tienes un campo el cual funciona como estatus; es decir, Estado Inicial, Primera Vez, Segunda Vez.
b) Cuando una persona ingresa el código, consultamos su estatus en base de datos y una vez recuperada la información correspondiente preguntamos. Estatus = 0: Actualizamos el estatus a 1 ya que al estar en 0 significa que será su primera vez. Estatus = 1: Actualizamos el estatus a 2 ya que significa que este es su segundo intento.
c) Posteriormente, únicamente será cuestión de consultar aquellas personas que tengan el Estatus 2, que son las que han registrado el código por segunda vez.

En pocas palabras, necesitas tener a nivel de base de datos una forma de identificar el número de intentos que ha realizado dicho usuario. Es importante mencionar que esa lógica aplicara únicamente cuando ingresen el código del administrador o ese código especial que mencionas, ya que cuando es un código normal no deberías por que entrar en esa lógica.

Sin más que comentar, quedo atento a los comentarios.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Identificas fila en consulta

Publicado por Luis Paredes (6 intervenciones) el 20/11/2016 07:18:26
suena bien lo que me comentas pero creo que no se aplica a lo que estoy tratando de hacer, te comento para saber si lo estoy haciendo bien, me esta funcionando hasta ahorita con las pruebas.

A) tengo mi base de datos con la siguiente tabla id, user, pass, email, codigo, referencia y referencia2 (el id es auto incrment)

supongamos que tengo un único registro con un código 12345678 (usuario A)

para que un usuario se registre, tendrá que ser por medio de invitación (www.midominio.com/registro.php?r=12345678)

b) cuando un usuario (USUARIO B) se registre, lo primero que hago es generar un codigo aleatorio de 8 digitos y luego una consulta en la base de tatos para buscar si el codigo que se generó ya existe, si existe genera otro diferente, es un bucle hasta que ésto se cumpla.

c) cuando se cumple el paso anterior ingreso al usuario de forma normal y en el campo "referencia" ingreso el codigo del usuario A, para saber por quien fue invitado.

Ahora supongamos que el usuario B ya tiene su propio Link... www.midominio.com/registro.php?r=87654321

se hace todo el proceso normal del inciso A, y se registra. hasta aqui el usuario B ya tiene una persona invitada.

pero comparte el Link con otra persona para que tambien se registre.....

aquí lo que hago una consulta a la base de datos para saber cuantas personas tiene registradas el usuario B (el que esta invitando)...
si el numero de filas de la consulta es ==1 todo se hace normal salvo que el String R3 tiene el valor de "referencia" es decir el codigo del usuario A, y éste lo ingreso en la base de datos en el campo "referencia2" si el If ... ==1 no se cumple R3 siempre valdrá ""; osea vacio

ahora puedo consultar todo lo referente al usuario B mediante inicio de sesion, y comparo mediante el codigo del usuari B la tabla "referencia" cuantos usuarios ha registrado.
y mediante otra consulta comparo si el campo "referencia2" esta o no vacio... y si esta lleno significa que ese registro fue el numero 2 del usuario B
esa consulta fue la que puse en la fila de la tabla...

<td ><?php if ($Ref['referencia2'] <>"") {echo "No te deposita";} else { echo $dia[2]; } ?></td>

repito.... no sé si sea lo correcto como lo estoy haciendo... pero me esta funcionando.... hasta ahorita... el resultado se ve en la imagen...

de hecho pude hace otra consulta para que el usuario A tenga otra tabla igual que enlista a todas las personas que le han sido asignadas, es decir que cada persona que el usuario A invite directamente, cada una le va regalar a la numero 2 que registre. osea que cada persona que en la tabla "referencia2" contenga el codigo del usuario A... esa persona habrá sido el registro número 2 de cada invitado directo del usuario A...

no sé si me explique... creo que me hice bolas yo solo... pero he batallado mucho para lograrlo y he visto muchas dudas, vídeos y todo de gente que ayuda y ojalá que esta lógica también le sirva a alguien.


filas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Lawliet
Val: 478
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Identificas fila en consulta

Publicado por Lawliet (351 intervenciones) el 20/11/2016 09:35:38
Hola...

Haremos una prueba de escritorio, posiblemente de esa manera encontremos una forma de como resolver tu problema.


A) tengo mi base de datos con la siguiente tabla id, user, pass, email, codigo, referencia y referencia2 (el id es auto incrment)

supongamos que tengo un único registro con un código 12345678 (usuario A)

para que un usuario se registre, tendrá que ser por medio de invitación (www.midominio.com/registro.php?r=12345678)

b) cuando un usuario (USUARIO B) se registre, lo primero que hago es generar un codigo aleatorio de 8 digitos y luego una consulta en la base de tatos para buscar si el codigo que se generó ya existe, si existe genera otro diferente, es un bucle hasta que ésto se cumpla.

c) cuando se cumple el paso anterior ingreso al usuario de forma normal y en el campo "referencia" ingreso el codigo del usuario A, para saber por quien fue invitado.

Ahora supongamos que el usuario B ya tiene su propio Link... www.midominio.com/registro.php?r=87654321

se hace todo el proceso normal del inciso A, y se registra. hasta aqui el usuario B ya tiene una persona invitada.

pero comparte el Link con otra persona para que tambien se registre.....


Eso que mencionas, lo podemos ver plasmado de la siguiente manera o por lo menos es lo que entendí en las líneas mencionadas anteriormente...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
1.- USUARIO A (12345678)
2.- USUARIO B (Genera código aleatorio, el cual es validado que no exista en la base de datos. Además de ingresar el código del USUARIO A (12345678) en el campo Referencia)
 
1.- USUARIO B (13478912)
2.- USUARIO C (Genera código aleatorio, el cual es validado que no exista en la base de datos. Además de ingresar el código del USUARIO B (13478912) en el campo Referencia)
 
1.- USUARIO B (06891414)
2.- USUARIO D (Genera código aleatorio, el cual es validado que no exista en la base de datos. Además de ingresar el código del USUARIO B (13478912) en el campo Referencia)
 
1.- USUARIO B (56896912)
2.- USUARIO E (Genera código aleatorio, el cual es validado que no exista en la base de datos. Además de ingresar el código del USUARIO B (13478912) en el campo Referencia)
 
1.- USUARIO C (78157891)
2.- USUARIO F (Genera código aleatorio, el cual es validado que no exista en la base de datos. Además de ingresar el código del USUARIO C (78157891) en el campo Referencia)
 
1.- USUARIO F (78912351)
2.- USUARIO G (Genera código aleatorio, el cual es validado que no exista en la base de datos. Además de ingresar el código del USUARIO F (78912351) en el campo Referencia)


aquí lo que hago una consulta a la base de datos para saber cuantas personas tiene registradas el usuario B (el que esta invitando)...
si el numero de filas de la consulta es ==1 todo se hace normal salvo que el String R3 tiene el valor de "referencia" es decir el codigo del usuario A, y éste lo ingreso en la base de datos en el campo "referencia2" si el If ... ==1 no se cumple R3 siempre valdrá ""; osea vacio


Viendo esto de una manera superficial si es que lo gustas llamar así, quedaría como se menciona en el siguiente enunciado...


Si el resultado de la consulta donde la referencia corresponda al USUARIO B es igual a 1, R3 tomará el valor del campo Referencia la cual corresponde al USARIO A y se guardara el valor en el campo Referencia2, caso contrario, R3 será igual a vacio.



ahora puedo consultar todo lo referente al usuario B mediante inicio de sesion, y comparo mediante el codigo del usuari B la tabla "referencia" cuantos usuarios ha registrado.
y mediante otra consulta comparo si el campo "referencia2" esta o no vacio... y si esta lleno significa que ese registro fue el numero 2 del usuario B
esa consulta fue la que puse en la fila de la tabla...

<td ><?php if ($Ref['referencia2'] <>"") {echo "No te deposita";} else { echo $dia[2]; } ?></td>


El enunciado simple de esta cita sería el siguiente...


Si el resultado de la consulta donde la Referencia2 corresponda al USUARIO B es diferente de vacio, entonces mostramos el mensaje correspondiente ya que corresponde al registro número 2 del USUARIO B.


Aquí mi duda viene siendo... ¿Cual es el problema?... Si ya realizaste las pruebas correspondientes y observas que esa lógica funciona entonces no veo problema alguno o tal vez no sabes como explicar el detalle que tienes, ya que por lo visto en tu código el mensaje "No te deposita" aparece en el registro número 2 que es lo que necesitas sino me equivoco.

Será mejor replantees la pregunta ya que el tema hace referencia a un mensaje para el registro número 2, el cual observo que si realizas, ya que desde mi perspectiva no veo el problema.

Sin más que comentar, quedamos al pendiente de cualquier duda y/o comentario.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Identificas fila en consulta

Publicado por Luis Paredes (6 intervenciones) el 20/11/2016 20:54:21
Correcto amigo... asi era... solo que el codigo del registro del usuario B siempre sera el mismo, ese no va cambar. todo lo demas es correcto...

no hay ningún problema... la forma en como lo hice funciona muy bien. lo comente en el segundo mensaje que conteste...

[--
"ya logré hacerlo de la siguiente manera en la repetición de las filas en la tabla, lo dejo por aqui por si a alguien mas le sirve la idea.."
--]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar