# [OFF-TOPIC] Consulta php y mysql

## JotaCE

Estimados :

Una de mis mas grandes limitaciones en mi trabajo es que no soy desarrollador.... aun asi trato de escribir algunas consultas sobre la base de datos del sistema para obtener alguna información, pero en algunas oportunidades como ahora me siento muy atado de manos.

Bueno..... una pequeña reseña.....

Vicidial es un sistema de marcación predictiva que puede ser instalado sobre linux.

Vicidial usa asterisk como servidor de telefonía, MYSQL como bases de datos y apache como web service. una vez que vicidial conexta una llamada telefónica se la entrega al primer ejecutivo disponible bajo algunos criterios.

Es posible que el ejecutivo escriba una gestión de la llamada que recibió y bueno aqui es donde comienzan los problemas.

Necesito escribir un programa php que haga una busqueda sobre la base de datos mysql. ya tengo algo..... con algun resultado....

Les muestro mi código fuente.

```

<title>Listado de Gestiones por Número de Teléfono</title>

<h1>Gestiones por número de Teléfono</h1>

<form name=”consulta1? method=”post” action=”ejecuta.php”>

Número de Teléfono:<input type=”text” name=”fono” maxlength=”13?>

<input type=submit value=Aceptar>

<P>

<table border="1" cellspacing=1 cellpadding=2 style="font-size: 8pt"><tr>

<td><font face="verdana"><b>ID Unico</b></font></td>

<td><font face="verdana"><b>ID Lead</b></font></td>

<td><font face="verdana"><b>Número de Teléfono</b></font></td>

<td><font face="verdana"><b>Fecha</b></font></td>

<td><font face="verdana"><b>Comentario</b></font></td>

</tr>

<?php

   $link = @mysql_connect("localhost", "cron","1234")

      or die ("Error al conectar a la base de datos. Parametros de conexión incorrectos");

   @mysql_select_db("asterisk", $link)

      or die ("Error al conectar a la base de datos. No se encuentra la base de datos especificada");

   $query = "SELECT vicidial_log.uniqueid, vicidial_log.lead_id, vicidial_log.call_date, vicidial_log.phone_number, vicidial_call_notes.call_notes, vicidial_log.campaign_id " .

      "FROM vicidial_log " .

      "INNER JOIN vicidial_call_notes " .

      "ON vicidial_log.lead_id = vicidial_call_notes.lead_id " .

      "WHERE vicidial_log.`phone_number` = '526768824262' " .

      "ORDER BY vicidial_log.call_date " ;

   $result = mysql_query($query);

   $numero = 0;

   while($row = mysql_fetch_array($result))

   {

   echo "<tr><td width=\"12%\"><font face=\"verdana\">" .

      $row["uniqueid"] . "</font></td>";

   echo "<td width=\"6%\"><font face=\"verdana\">" .

      $row["lead_id"] . "</font></td>";

   echo "<td width=\"12%\"><font face=\"verdana\">" .

      $row["phone_number"] . "</font></td>";

   echo "<td width=\"14%\"><font face=\"verdana\">" .

      $row["call_date"] . "</font></td>";

   echo "<td width=\"56%\"><font face=\"verdana\">" .

      $row["call_notes"]. "</font></td></tr>";

   $numero++;

   }

   echo "<tr><td colspan=\"15\"><font face=\"verdana\"><b>Número: " . $numero .

      "</b></font></td></tr>";

   mysql_free_result($result);

   mysql_close($link);

?>

</table>
```

Me queda claro que es un codigo muy sencillo y tal vez incorrecto pero les dará alguna pista de lo que quiero.

El resultado del código es algo como esto

```
Gestiones por número de Teléfono

Número de Teléfono:

ID Unico    ID Lead    Número de Teléfono    Fecha    Comentario

1358437616.1118   59264   526768824262   2013-01-17 09:47:05   negativa de pago

1359660045.2372   76204   526768824262   2013-01-31 13:20:54   Se dejo informacion con Eva hija de la deudora

1359738459.3175   76204   526768824262   2013-02-01 11:07:47   Se dejo informacion con Eva hija de la deudora

1360433487.5196   83688   526768824262   2013-02-09 12:11:45   Esposo de deudora, con palabras altisonantes dice que no le este molestando.

Número: 4
```

La busqueda SELECT es siempre la misma WHERE indica el numero de telefono 526768824262	...... necesito cambiar ese numero por una variable.....

Para que sea el usuario el que escriba el numero de telefono a buscar.....

Y que todo este código este en un ciclo que se repita n veces.... HELLLLPPPPP 

Gracias por anticipado!!

----------

## quilosaq

Tendrás que cambiar:

```
      "WHERE vicidial_log.`phone_number` = '526768824262' " . 
```

por

```
      "WHERE vicidial_log.`phone_number` = $_GET['fono'] " . 
```

Para el bucle usa un do-while

----------

## JotaCE

[quote="quilosaq"]Tendrás que cambiar:

```
      "WHERE vicidial_log.`phone_number` = '526768824262' " . 
```

por

```
      "WHERE vicidial_log.`phone_number` = $_GET['fono'] " . 
```

Para el bucle usa un do-while[/quote

Gracias por tu idea.... me sirvió mucho y quedó de la siguiente manera....

primero ... un archivo index.php

```

<title>Listado de Gestiones por Número de Teléfono</title>

<h1>Gestiones por número de Teléfono</h1>

<form name=”consulta1" method=”get” action="ejecuta.php">

Número de Teléfono:<input type="text" name="fono" maxlength=”13">

<input type=submit value=Aceptar>

</form>
```

y para finalizar un archivo ejecuta.php

```

<table border="1" cellspacing=1 cellpadding=2 style="font-size: 8pt"><tr>

<td><font face="verdana"><b>ID Unico</b></font></td>

<td><font face="verdana"><b>ID Lead</b></font></td>

<td><font face="verdana"><b>Número de Teléfono</b></font></td>

<td><font face="verdana"><b>Fecha</b></font></td>

<td><font face="verdana"><b>Comentario</b></font></td>

</tr>

<?php

   $fono = $_GET["fono"];

   $link = @mysql_connect("localhost", "cron","1234")

      or die ("Error al conectar a la base de datos. Parametros de conexión incorrectos");

   @mysql_select_db("asterisk", $link)

      or die ("Error al conectar a la base de datos. No se encuentra la base de datos especificada");

   $query = "SELECT vicidial_log.uniqueid, vicidial_log.lead_id, vicidial_log.call_date, vicidial_log.phone_number, vicidial_call_notes.call_notes, vicidial_log.campaign_id " .

      "FROM vicidial_log " .

      "INNER JOIN vicidial_call_notes " .

      "ON vicidial_log.lead_id = vicidial_call_notes.lead_id " .

      "WHERE vicidial_log.`phone_number` = $fono " .

      "ORDER BY vicidial_log.call_date " ; 

   $result = mysql_query($query);

   $numero = 0;

   while($row = mysql_fetch_array($result))

   {

   echo "<tr><td width=\"12%\"><font face=\"verdana\">" .

      $row["uniqueid"] . "</font></td>";

   echo "<td width=\"6%\"><font face=\"verdana\">" .

      $row["lead_id"] . "</font></td>";

   echo "<td width=\"12%\"><font face=\"verdana\">" .

      $row["phone_number"] . "</font></td>";

   echo "<td width=\"14%\"><font face=\"verdana\">" .

      $row["call_date"] . "</font></td>";

   echo "<td width=\"56%\"><font face=\"verdana\">" .

      $row["call_notes"]. "</font></td></tr>";

   $numero++;

   }

   echo "<tr><td colspan=\"15\"><font face=\"verdana\"><b>Número: " . $numero .

      "</b></font></td></tr>";

   mysql_free_result($result);

   mysql_close($link); 

?>

</table>
```

El resultado ??? evidentemente.... el esperado!!! 

MUCHAS GRACIAS!!!

----------

