PHP - Consulta mysql y uso con php

 
Vista:
sin imagen de perfil
Val: 31
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta mysql y uso con php

Publicado por Fran25ans (16 intervenciones) el 29/08/2016 00:32:04
Buenas noches a todos,

Soy nuevo en el foro y quería haceros una consulta que me tiene vuelto loco.

¿Esto es correcto?

$obj_cliente=new sQuery();
$query2= "SELECT Tienda from clientes2 where id=$this->id";
$resultado=executeQuery($query2);
$destinatario=$resultado.'@gmail.com';

Es que no me funciona...

Agradecería vuestra ayuda.
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
sin imagen de perfil

Consulta mysql y uso con php

Publicado por DAVID (129 intervenciones) el 29/08/2016 09:49:04
eso no parece Php.
Si fuera orientado a objetos, debería ser algo así:
1
2
3
$sql = "SELECT Tienda from clientes2 where id=".$this->id;
		$query = $this->db->query($sql);
		return $query->result();

previamente, has debido establecer la conexión con la BBDD que estaria en $this->db.

Si no usas programación orientada a objetos, seria mas sencillo:

1
2
3
4
5
6
7
$conn = mysql_connect("localhost","usuario","passwpor");
mysql_select_db("nombre de base de datos",$conn);
$rs = mysql_query("SELECT * FROM usuarios",$conn);
while ($registro = mysql_fetch_array($rs))
{
     echo "nombre".$registro['NOMBRE'] ;
}


Un saludo,
David
paginas web eco
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
Val: 31
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta mysql y uso con php

Publicado por Francisco (16 intervenciones) el 30/08/2016 08:55:52
Sigue sin darme resultado, paso el código completo para que lo puedas ver mejor.
El problema esta en la funcion delete. Lo que realmente quiero es hacer la consulta a mysql y obtener la dirección del email, los dos pasos intermedios me los realiza que es copiar de una tabla a otra y luego borrarmelo de la tabla.
Espero haberme explicado correctamente y gracias por la ayuda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
<?php
class Conexion  // se declara una clase para hacer la conexion con la base de datos
{
	var $con;
	function Conexion()
	{
		// se definen los datos del servidor de base de datos 
		$conection['server']="";  //host
		$conection['user']="";         //  usuario
		$conection['pass']="";             //password
		$conection['base']="";           //base de datos
 
		// crea la conexion pasandole el servidor , usuario y clave
		$conect= mysql_connect($conection['server'],$conection['user'],$conection['pass']);
 
		if ($conect) // si la conexion fue exitosa , selecciona la base
		{
			mysql_select_db($conection['base']);
			$this->con=$conect;
		}
	}
	function getConexion() // devuelve la conexion
	{
		return $this->con;
	}
	function Close()  // cierra la conexion
	{
		mysql_close($this->con);
	}
 
}
class sQuery   // se declara una clase para poder ejecutar las consultas, esta clase llama a la clase anterior
{
 
	var $coneccion;
	var $consulta;
	var $resultados;
	function sQuery()  // constructor, solo crea una conexion usando la clase "Conexion"
	{
		$this->coneccion= new Conexion();
	}
	function executeQuery($cons)  // metodo que ejecuta una consulta y la guarda en el atributo $pconsulta
	{
		$this->consulta= mysql_query($cons,$this->coneccion->getConexion());
		return $this->consulta;
	}
	function getResults()   // retorna la consulta en forma de result.
	{return $this->consulta;}
 
	function Close()		// cierra la conexion
	{$this->coneccion->Close();}
 
	function Clean() // libera la consulta
	{mysql_free_result($this->consulta);}
 
	function getResultados() // debuelve la cantidad de registros encontrados
	{return mysql_affected_rows($this->coneccion->getConexion()) ;}
 
	function getAffect() // devuelve las cantidad de filas afectadas
	{return mysql_affected_rows($this->coneccion->getConexion()) ;}
 
    function fetchAll()
    {
        $rows=array();
		if ($this->consulta)
		{
			while($row=  mysql_fetch_array($this->consulta))
			{
				$rows[]=$row;
			}
		}
        return $rows;
    }
}
 
 
 
 
class Cliente
{
	var $Tienda;     //se declaran los atributos de la clase, que son los atributos del cliente
	var $Codigo;
	var $Unidades;
	Var $Descripcion;
	Var $id;
	Var $Estado;
	Var $Comentarios;
 
    public static function getClientes()
		{
			$obj_cliente=new sQuery();
			$obj_cliente->executeQuery("select * from clientes2 order by id"); // ejecuta la consulta para traer al cliente
 
			return $obj_cliente->fetchAll(); // retorna todos los clientes
		}
 
	function Cliente($nro=0) // declara el constructor, si trae el numero de cliente lo busca , si no, trae todos los clientes
	{
		if ($nro!=0)
		{
			$obj_cliente=new sQuery();
			$result=$obj_cliente->executeQuery("select * from clientes2 where id = $nro"); // ejecuta la consulta para traer al cliente 
			$row=mysql_fetch_array($result);
			$this->id=$row['id'];
			$this->Tienda=$row['Tienda'];
			$this->Codigo=$row['Codigo'];
			$this->Unidades=$row['Unidades'];
			$this->Descripcion=$row['Descripcion'];
			$this->Estado=$row['Estado'];
			$this->Comentarios=$row['Comentarios'];
		}
	}
 
		// metodos que devuelven valores
	function getID()
	 { return $this->id;}
	function getTienda()
	 { return $this->Tienda;}
	function getCodigo()
	 { return $this->Codigo;}
	function getUnidades()
	 { return $this->Unidades;}
	function getDescripcion()
	 { return $this->Descripcion;}
	 function getEstado()
	 { return $this->Estado;}
	 function getComentarios()
	 { return $this->Comentarios;}
 
		// metodos que setean los valores
	function setTienda($val)
	 { $this->Tienda=$val;}
	function setCodigo($val)
	 {  $this->Codigo=$val;}
	function setUnidades($val)
	 {  $this->Unidades=$val;}
	function setDescripcion($val)
	 {  $this->Descripcion=$val;}
	 	function setEstado($val)
	 {  $this->Estado=$val;}
	 function setComentarios($val)
	 {  $this->Comentarios=$val;}
 
    function save()
    {
        if($this->id)
        {$this->updateCliente();}
        else
        {$this->insertCliente();}
    }
	private function updateCliente()	// actualiza el cliente cargado en los atributos
	{
			$obj_cliente=new sQuery();
			$query="update clientes2 set Tienda='$this->Tienda', Codigo='$this->Codigo', Unidades='$this->Unidades',Descripcion='$this->Descripcion',Estado='$this->Estado',Comentarios='$this->Comentarios' where id = $this->id";
			$obj_cliente->executeQuery($query); // ejecuta la consulta para traer al cliente 
			return $obj_cliente->getAffect(); // retorna todos los registros afectados
 
	}
	private function insertCliente()	// inserta el cliente cargado en los atributos
	{
			$obj_cliente=new sQuery();
			$query="insert into clientes2( Tienda, Codigo, Unidades, Descripcion, Estado, Comentarios)values('$this->Tienda', '$this->Codigo','$this->Unidades','$this->Descripcion','$this->Estado','$this->Comentarios')";
 
			$obj_cliente->executeQuery($query); // ejecuta la consulta para traer al cliente 
			return $obj_cliente->getAffect(); // retorna todos los registros afectados
 
	}
	function delete()	// elimina el cliente aqui esta el problema
	{
			$obj_cliente=new sQuery();
			$query="INSERT INTO clientes SELECT * from clientes2 where id=$this->id";
			$obj_cliente->executeQuery($query); // ejecuta la consulta para  borrar el cliente
 
	$rs = mysql_query("SELECT Tienda from clientes2 where id=$this->id");
while ($registro = mysql_fetch_array($rs))
{
	 $destinatario= $registro['Tienda'].'@gmail.com';
}
 
 
 
$asunto = "Han realizado nuevas modificaciones";
$cuerpo = '
<html> 
<head> 
   <title>Nueva modificación</title> 
</head> 
<body> 
<h1>Atención</h1> 
<p> 
<b>Se han introducido nuevos productos en la pagina
</p>
<p>
<b>http://xxxxxxx.esy.es/Admin/index.php
</p>
</body> 
</html> 
';
 
//para el envío en formato HTML 
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 
//dirección del remitente 
$headers .= "From: Gestion  <xxxxxxx@gmail.com>\r\n";
 
//dirección de respuesta, si queremos que sea distinta que la del remitente 
 
//ruta del mensaje desde origen a destino 
$headers .= "Return-path: holahola@desarrolloweb.com\r\n";
 
//direcciones que recibián copia 
$headers .= "Cc: xxxxxxxxxx@gmail.com\r\n";
 
//direcciones que recibirán copia oculta 
$headers .= "Bcc: pepe@pepe.com,juan@juan.com\r\n";
 
mail($destinatario,$asunto,$cuerpo,$headers) ;
 
 
 
 
 
 
			$obj_cliente=new sQuery();
			$query="delete from clientes2 where id=$this->id";
			$obj_cliente->executeQuery($query); // ejecuta la consulta para  borrar el cliente
			return $obj_cliente->getAffect(); // retorna todos los registros afectados
 
	}
 
}
function cleanString($string)
{
    $string=trim($string);
    $string=mysql_escape_string($string);
	$string=htmlspecialchars($string);
 
    return $string;
}
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

Consulta mysql y uso con php

Publicado por DAVID (129 intervenciones) el 30/08/2016 14:25:12
Pero en una funcion delete estas haciendo un Insert?
Cambia esto:
1
$query="INSERT INTO clientes SELECT * from clientes2 where id=$this->id";

por esto:
1
$query="INSERT INTO clientes (id,Tienda,Codigo,Unidades,Descripcion,Estado,Comentarios) SELECT id,Tienda,Codigo,Unidades,Descripcion,Estado,Comentarios from clientes2 where id=".$this->id;

los campos no se si están bien. Pon los que necesites.

Un saludo
David
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
Val: 31
Ha aumentado su posición en 8 puestos en PHP (en relación al último mes)
Gráfica de PHP

Consulta mysql y uso con php

Publicado por Francisco (16 intervenciones) el 31/08/2016 09:31:52
David gracias por responder a mi consulta tan rapidamente, te comento...

El problema no esta en en insert, esa funcion me la realiza correctamente
1
2
3
$obj_cliente=new sQuery();
			$query="INSERT INTO clientes SELECT * from clientes2 where id=$this->id";
			$obj_cliente->executeQuery($query);

El problema esta aquí:
1
2
3
4
5
$rs = mysql_query("SELECT Tienda from clientes2 where id=$this->id");
while ($registro = mysql_fetch_array($rs))
{
	 $destinatario= $registro['Tienda'].'@gmail.com';
}

yo lo que quiero es sacar de mi base de datos el nombre del destinatario para completar la dirección de email. Es decir:
ejecutar la consulta
1
SELECT Tienda from clientes2 where id=$this->id
y que el resultado se plasme en la siguiente linea
1
$destinatario= $registro['Tienda'].'@gmail.com';
y que el email se envie al destinatario correspondiente.

Gracias de nuevo y espero haberme explicado con claridad.
Un saludo.
Francisco
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