Foros del Web » Programando para Internet » PHP »

Update

Estas en el tema de Update en el foro de PHP en Foros del Web. Hola, estoy haciendo una pagina con joomla y necesito que se puedan cargar creditos a traves de SMS. Para los creditos uso un componente llamado ...
  #1 (permalink)  
Antiguo 16/11/2011, 12:32
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Update

Hola, estoy haciendo una pagina con joomla y necesito que se puedan cargar creditos a traves de SMS. Para los creditos uso un componente llamado paidsystem, pero solo puedo cargar a traves de paypal asi que no me sirve del todo.
Asi que se me ocurrio coger la tabla de la DB que contiene los creditos y hacerle un UPDATE, pero ya no se es mi PHP oxidado de no usarlo o porque pero no consigo que se actualice el campo.
Uso el siguiente codigo:

Código:
<?php

//Probably you have to change this depending on your database connection and files

include("config1.php");




// read the get from PayGol system
$message_id = $_GET[message_id];
$shortcode = $_GET[shortcode];
$keyword = $_GET[keyword];
$message = $_GET[message];
$sender = $_GET[sender];
$operator = $_GET[operator];
$country = $_GET[country];
$userid  = $_GET[custom];
$price = $_GET[price];
$currency = $_GET[currency];



$sql="UPDATE  xxx_paidsystem_credits SET credit='$price+credit' WHERE userid='$userid'"; 
echo $sql;
exit;


?>
¿Alguien ve el error?
  #2 (permalink)  
Antiguo 16/11/2011, 12:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Update

Pues tendrías que primero evaluar antes de pasarlo al string, es lo que se me ocurre:
Código PHP:
Ver original
  1. $credit = $price + $credit; // asumiendo que $price y $credit son ints si no usa(int)
  2. $sql = "UPDATE ... $credit ..";

Saludos.
  #3 (permalink)  
Antiguo 17/11/2011, 09:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Update

credit es FLOAT y price viene del siguiente formulario:
Código:
<form name="pg_frm" method="post" action="http://www.paygol.com/micropayment/paynow_post" >

 <input type="text" name="pg_custom" value="UserID">
 <input type="hidden" name="pg_serviceid" value="XXXX">
 <input type="hidden" name="pg_currency" value="EUR">
 <input type="hidden" name="pg_name" value="Comprar Creditos">

 <!-- With Dropdown -->
 <select name="pg_price">
  <option value="1" selected>100</option>
  <option value="2">200</option>
  <option value="3">300</option>
 </select>

 <input type="hidden" name="pg_return_url" value="http://www.miweb.com">
 <input type="hidden" name="pg_cancel_url" value="">
 <input type="image" name="pg_button" class="paygol" src="http://www.paygol.com/micropayment/img/buttons/150/pay_es_3.png" border="0" alt="Realiza pagos con PayGol: la forma mas facil!" title="Realiza pagos con PayGol: la forma mas facil!" onClick="pg_reDirect(this.form)">
</form>
No funciona creando la variable $credit, vere poniendo el (int) o cambiando la tabla a integer.
  #4 (permalink)  
Antiguo 17/11/2011, 09:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Update

Si es float puedes usar el operador mismo:
Código PHP:
Ver original
  1. $credit = (float) $_GET['credit'];
  2. $price = (int) $_GET['price'];
  3.  
  4. var_dump($credit + $price);
  #5 (permalink)  
Antiguo 17/11/2011, 13:15
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Pregunta Respuesta: Update

En primer lugar gracias por tu ayuda y tu paciencia.
Hay una cosilla que no entiendo...
¿Por qué convertir "credit" en variable si es uno de los campos de la tabla xxx_paidsystem_credits?
Y podrías pegarme el codigo como quedaría que me perdi del todo.
Y de nuevo gracias (no me olvido de darte karma )
  #6 (permalink)  
Antiguo 17/11/2011, 13:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Update

Pues si es un valor que recoges de $_GET siempre viene como string, y es necesario pasarlo a un tipo de formato válido para realizar la operación de suma.

Etiquetas: sql, tabla, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:18.