This topic is locked
[SOLVED]

 a simple sql query

11/5/2012 11:59:35 AM
PHPRunner General questions
C
chrispa author

hi
i see that
http://www.asprunner.com/forums/topic/19503-sending-templated-email-messages/
and iam trying to implement it i have following code on before added
Global $conn;

Global $sql;

GLOBAL $_SESSION;

$str ="SELECT * FROM tracking_manual WHERE id='".$id."'";

$rs = db_query($str,$conn);

$data = db_fetch_array($rs);
$values["prefix"] = $data["prefix"];

$values["awb"] = $data["awb"];

$values["carrier"] = $data["carrier"];

$values["from"] = $data["from"];

$values["to"] = $data["to"];

$values["details"] = $data["details"];

$values["email1"] = $data["email1"];

$values["email2"] = $data["email2"];

$values["email3"] = $data["email3"];

$values["email4"] = $data["email4"];

$values["email5"] = $data["email5"];

$values["email6"] = $data["email6"];
$email_message = file_get_contents("order.txt");

// replace variables

$email_message = str_replace("##prefix##",$values["prefix"],$email_message);

$email_message = str_replace("##awb##",$values["awb"],$email_message);

$email_message = str_replace("##carrier##",$values["carrier"],$email_message);

$email_message = str_replace("##from##",$values["from"],$email_message);

$email_message = str_replace("##to##",$values["to"],$email_message);

$email_message = str_replace("##details##",$values["details"],$email_message);
// send HTML email

runner_mail(array('to' => $values["email1"],'bcc' => $values["email2"],'cc' => $values["email3"], 'from' =>"admin@admin.com", 'subject' => "admin ", 'htmlbody' => $email_message, 'charset' => 'UTF-8'));
// Place event code here.

// Use "Add Action" button to add code snippets.

$values['lastupdate']=now();

return true;
but does not receive anything i have also add the order.txt in the folder
please help

Sergey Kornilov admin 11/5/2012

I can see a logical error here. When you execute your SQL query you refer to $id variable which is not defined anywhere. This means variable will be empty and your query won't return any data.
Since you add this code to BeforeAdd event all form field values already stored in $values array and you can safely remove the following piece of code:

Global $conn;

Global $sql;

GLOBAL $_SESSION;

$str ="SELECT * FROM tracking_manual WHERE id='".$id."'";

$rs = db_query($str,$conn);

$data = db_fetch_array($rs);
$values["prefix"] = $data["prefix"];

$values["awb"] = $data["awb"];

$values["carrier"] = $data["carrier"];

$values["from"] = $data["from"];

$values["to"] = $data["to"];

$values["details"] = $data["details"];

$values["email1"] = $data["email1"];

$values["email2"] = $data["email2"];

$values["email3"] = $data["email3"];

$values["email4"] = $data["email4"];

$values["email5"] = $data["email5"];

$values["email6"] = $data["email6"];


There might be more issue in your code however this is what I can spot of the top of my head.