Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate

Autor Topic: Ver Usuarios Online web  (Visto 760 veces)

0 Miembros and 1 Guest are viewing this topic.

Offline djkaku Posteado: June 02, 2023, 05:41:25 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 43
  • Gracias recibida: 7
  • ar
buenas estaba editando una web y queria agregar los usuarios online pero no logro que me los tome alguno me podria ayudar  please

aca les dejo el codigo:

Code: [Select]
<?php
$conectID = odbc_connect("MuOnline","sa","contraseña") or die("Error Connect to Database");
$onlinepl = "SELECT count(*) From MEMB_STAT where Connectstat='1'";
$online = odbc_exec($conectID, $onlinepl) or die ("Error Execute [".$onlinepl."]");
?>
<?php
$estado = @fsockopen("127.0.0.1", 55901, $errno, $errstr, 30);
if ($estado)
{
   $status_done = "<span><b>Online</b></span>";
}
else
{
  $status_done = "<span><b>Offline</b></span>";
};?>
<?php
while($objResult = odbc_fetch_array($online))
{
?>
<table border="0">
  <tr>
    <td>Servidor:</td>
    <td align=left><?php echo $status_done;?></td>
  </tr>
  <tr>
    <td>En Linea:</td>
    <td align=left><?php echo $objResult["Connectstat"];?></td>
  </tr>
<?php
}
?>
</table>
<?php
odbc_close($conectID);
?>

y este el error que me tira:

Code: [Select]
Servidor:	Online
En Linea:
Notice: Undefined index: Connectstat in C:\xampp\htdocs\rank\estadisticas.php on line 28

Gracias:


Offline xXSiniestroXx #1 Posteado: June 03, 2023, 07:59:35 AM

  • +2 puntos por ventas
  • *
  • Rank: Puto amo
  • Posts: 336
  • Gracias recibida: 2300
  • ve
Estas llamando mal el resultado.

en esa variable estas guardando la consulta que vas a enviar a la db
Code: [Select]
$onlinepl = "SELECT count(*) From MEMB_STAT where Connectstat='1'";

Aquí estas ejecutando dicha consulta a la base de datos

Code: [Select]
$online = odbc_exec($conectID, $onlinepl) or die ("Error Execute [".$onlinepl."]");

El resultado te lo va a devolver en $online, te va a devolver un número entero o bueno debería porque según la consulta que estas haciendo solo estas pidiendo un coteo de las celdas que tengan el valor de "1" en la columna de "ConnectStat" así que te debería de volver un solo valor en un número entero.

ahora no sé porque estas usando el blucle iterativo de "while"

Code: [Select]
<?php
while($objResult = odbc_fetch_array($online))
{
?>
<table border="0">
  <tr>
    <td>Servidor:</td>
    <td align=left><?php echo $status_done;?></td>
  </tr>
  <tr>
    <td>En Linea:</td>
    <td align=left><?php echo $objResult["Connectstat"];?></td>
  </tr>
<?php
}
?>



Estas declarando "$objResult" y le estas dando ahí mismo un valor ?? no tiene sentido mi pana porque el while se usa para realizar un bucle, es decir ejecutar algo mientras haya una condición y este caso no hay ninguna condición solo le estas declarando una variable

te dejo un link con una guía para que te ayude a comprender un poco más sobre los tipos de bucles




ahora estas esperando que el resultado te lo muestre en

Code: [Select]
<td align=left><?php echo $objResult["Connectstat"];?></td>

Y eso no va a pasar porque no estas recorriendo un array, o sea no hay nada adentro de la variable "$objResult" que coincida con "Connectstat" para traerte tan valor.

Por eso es que en error te dice que "Connectstat" no esta definida.

Ejemplo: 

$objResult = array("Numero_de_Cuentas" => '200',
                               "Connectstat" => '50',
                               "Baneados" => "2" );

Entonces si yo quiero el valor de "Connectstat" en este caso si podría hacer la consulta de esa manera

echo 'Usuarios Online:'. $objResult['Connectstat'];

Y me traería

"Usuarios Online: 50"

Aquí te dejo también un guía de iteración de arrays



Salu2



Gracias:


Offline djkaku #2 Posteado: June 10, 2023, 03:29:50 PM

  • 0 puntos por ventas
  • *
  • Rank: Dedicado
  • Posts: 43
  • Gracias recibida: 7
  • ar
Estas llamando mal el resultado.

en esa variable estas guardando la consulta que vas a enviar a la db
Code: [Select]
$onlinepl = "SELECT count(*) From MEMB_STAT where Connectstat='1'";

Aquí estas ejecutando dicha consulta a la base de datos

Code: [Select]
$online = odbc_exec($conectID, $onlinepl) or die ("Error Execute [".$onlinepl."]");

El resultado te lo va a devolver en $online, te va a devolver un número entero o bueno debería porque según la consulta que estas haciendo solo estas pidiendo un coteo de las celdas que tengan el valor de "1" en la columna de "ConnectStat" así que te debería de volver un solo valor en un número entero.

ahora no sé porque estas usando el blucle iterativo de "while"

Code: [Select]
<?php
while($objResult = odbc_fetch_array($online))
{
?>
<table border="0">
  <tr>
    <td>Servidor:</td>
    <td align=left><?php echo $status_done;?></td>
  </tr>
  <tr>
    <td>En Linea:</td>
    <td align=left><?php echo $objResult["Connectstat"];?></td>
  </tr>
<?php
}
?>



Estas declarando "$objResult" y le estas dando ahí mismo un valor ?? no tiene sentido mi pana porque el while se usa para realizar un bucle, es decir ejecutar algo mientras haya una condición y este caso no hay ninguna condición solo le estas declarando una variable

te dejo un link con una guía para que te ayude a comprender un poco más sobre los tipos de bucles
 

ahora estas esperando que el resultado te lo muestre en

Code: [Select]
<td align=left><?php echo $objResult["Connectstat"];?></td>

Y eso no va a pasar porque no estas recorriendo un array, o sea no hay nada adentro de la variable "$objResult" que coincida con "Connectstat" para traerte tan valor.

Por eso es que en error te dice que "Connectstat" no esta definida.

Ejemplo: 

$objResult = array("Numero_de_Cuentas" => '200',
                               "Connectstat" => '50',
                               "Baneados" => "2" );

Entonces si yo quiero el valor de "Connectstat" en este caso si podría hacer la consulta de esa manera

echo 'Usuarios Online:'. $objResult['Connectstat'];

Y me traería

"Usuarios Online: 50"

Aquí te dejo también un guía de iteración de arrays
 
Salu2





no puedo solucionarlo alguno me ayudaria? :_  please please


Solo usuarios registrados pueden comentar y agradecer, Logueate o Registrate


 

Related Topics

  Subject / Started by Replies Last post
11 Replies
7576 Views
Last post February 05, 2019, 02:09:13 PM
by juanka2
4 Replies
6858 Views
Last post October 09, 2017, 04:24:58 AM
by conejowolf
8 Replies
5537 Views
Last post September 07, 2017, 08:29:54 PM
by xmemox
3 Replies
2392 Views
Last post November 11, 2018, 04:35:05 PM
by lordicus
6 Replies
3411 Views
Last post November 10, 2023, 08:29:50 AM
by MsotoC