Re: Notice
| From: | Ricardo R Bonfim | Date: | Thu, 27 Mar 2014 12:17:40 +0000 |
| Subject: | Re: Notice | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-323111@lists.php.net to get a copy of this message | ||
Well, i'm not totally sure that you can't catch a notice on php, but
even if possible, it wouldn't be a good choice from my point of view..
A good approach would be test if the $data array really has the $loci
position set before trying to use it..
something like:
if ( isset($data[$ids][$loci]) ) {
$alelleY = $data[$ids][$loci]['alelleY'];
$alelleX = $data[$ids][$loci]['alelleX'];
}
And then you could choose your best approach to deal with this..
You could raise and exception in an else statement, or you could just
set the $alelleY and X variables with something like 'Not found'
Altough it's possible to mix javascript with php, I can't imagine why
would you show the errors with javascript... unless of course, if
you're using ajax for this..
2014-03-27 8:36 GMT-03:00 Tiago Hori <tiago.hori@gmail.com>:
> Hi Ricardo,
>
> Thanks!
>
> I figured it out last night the entries on the database were incomplete, so that makes perfect
> sense with what you are saying. Ir also occurred to me that this is something that may happen in the
> real application, so here is my next question: is there a way an can catch those errors and use say
> javascript to display them?
>
> Thanks!
>
> T.
>
> On Mar 27, 2014, at 12:14 AM, Ricardo R Bonfim <ricobonfim@gmail.com> wrote:
>
>> Hi Tiago,
>>
>> *Notice*: Undefined index: in
>> */Applications/MAMP/htdocs/catcnew/snppitv1.php* on line *62*
>> *Notice*: Undefined index: in
>> */Applications/MAMP/htdocs/catcnew/snppitv1.php* on line *63*
>>
>> These two, as I think, were raised because of lines below. You tried
>> to access $data array on $loci position, what i'm guessing that is
>> probably inexistent on this array. I suggest you to see what values do
>> you have on $snp array and compare to $row[6] to see if they match
>> each other.
>> $alelleY = $data[$ids][$loci]['alelleY'];
>> $alelleX = $data[$ids][$loci]['alelleX'];
>>
>>
>> *Notice*: Array to string conversion in
>> */Applications/MAMP/htdocs/catcnew/snppitv1.php* on line *66*
>>
>> The last notice is certainly raised because you are trying to use an
>> array as a string on the line below. $role is an array, right? You
>> could use explode function to turn each value from $role into a string
>> separated by comma for example.
>> $body .= "$ids\t$role\t" . substr($content, 0, -1) . "\n";
>>
>> Good luck
>>
>> 2014-03-26 20:30 GMT-03:00 Tiago Hori <tiago.hori@gmail.com>:
>>> Hi Everyone,
>>>
>>> I am at loss so I am hoping your wisdom can help me.
>>>
>>> I originally had a script that first got a list of terms to be searched
>>> from the file uploaded in the first part. This list is stored in the array
>>> $snp. Every item in $snp occurs once for every entry i have in the table.
>>> The goal is to allow the user to select a set in the file uploaded and get
>>> every entry for a given project, which is entered via POST.
>>>
>>> I had originally wrote this in way that it made 3 or 4 calls to the
>>> database and it was way to slow, so I tried to make one call to the
>>> database and put everything in a multidimensional array.
>>>
>>> Now, what I have below seems to work, but I get 3notices for every
>>> iteration of the foreach($rows as $ids) and I can't figure out for the life
>>> of me why.
>>>
>>> *Notice*: Undefined index: in
>>> */Applications/MAMP/htdocs/catcnew/snppitv1.php* on line *62*
>>>
>>> *Notice*: Undefined index: in
>>> */Applications/MAMP/htdocs/catcnew/snppitv1.php* on line *63*
>>>
>>> *Notice*: Array to string conversion in
>>> */Applications/MAMP/htdocs/catcnew/snppitv1.php* on line *66*
>>>
>>>
>>> I guess I would like to know what it is going on out of curiosity and if it
>>> can cause a problem down the road. Also, any suggestions on improvement are
>>> always welcome.
>>>
>>> if(isset($_FILES['snps']))
>>> {
>>> $dir = 'uploads';
>>> $header = "role\t";
>>> $filename = $_FILES['snps']['name'];
>>> if (file_exists("$dir/$filename"))
>>> {
>>> die ("A file with this name already exists in the database <br
>>> />");
>>> }
>>> else
>>> {
>>> move_uploaded_file($_FILES['snps']['tmp_name'],
>>> "$dir/$filename");
>>> echo "Uploaded file '$filename' <br />";
>>> $fh = fopen("$dir/$filename", 'r') or
>>> die("File does not exist or you lack permission to open it");
>>> }
>>> while (!feof($fh))
>>> {
>>>
>>> $line = fgets($fh);
>>> $snp[] = trim(preg_replace('/\n/', '', $line));
>>>
>>> }
>>> foreach ($snp as $loci)
>>> {
>>> $header .= $loci . "\t" . $loci . "\t";
>>> }
>>>
>>> }
>>>
>>> if(isset($_POST['project']))
>>> {
>>> $project = sanitizeStrings($_POST['project']);
>>> $body = "";
>>>
>>> $query = "SELECT * FROM genotyped WHERE projectid='$project'";
>>> $result = queryMysql($query);
>>> if(mysqli_num_rows($result))
>>> {
>>> $data = array();
>>> while($row = mysqli_fetch_row($result))
>>> {
>>>
>>> $rows[] = $row[2];
>>> $role[$row[2]] = $row[3];
>>> $data[$row[2]][$row[6]]['alelleY'] = $row[7];
>>> $data[$row[2]][$row[6]]['alelleX'] = $row[8];
>>> }
>>> $rows = array_unique($rows);
>>> foreach($rows as $ids)
>>> {
>>> $col2 = $role[$ids];
>>> $alelleX = $alelleY = $content = "";
>>> foreach($snp as $loci)
>>> {
>>> $alelleY = $data[$ids][$loci]['alelleY'];
>>> $alelleX = $data[$ids][$loci]['alelleX'];
>>> $content .= "$alelleY\t$alelleX\t";
>>> }
>>> $body .= "$ids\t$role\t" . substr($content, 0, -1) .
>>> "\n";
>>> }
>>> }
>>> }
>>>
>>> unlink("$dir/$filename");
>>>
>>>
>>> ?>
>>>
>>> T.
>>>
>>>
>>> --
>>> "Education is not to be used to promote obscurantism." - Theodonius
>>> Dobzhansky.
>>>
>>> "Gracias a la vida que me ha dado tanto
>>> Me ha dado el sonido y el abecedario
>>> Con él, las palabras que pienso y declaro
>>> Madre, amigo, hermano
>>> Y luz alumbrando la ruta del alma del que estoy amando
>>>
>>> Gracias a la vida que me ha dado tanto
>>> Me ha dado la marcha de mis pies cansados
>>> Con ellos anduve ciudades y charcos
>>> Playas y desiertos, montañas y llanos
>>> Y la casa tuya, tu calle y tu patio"
>>>
>>> Violeta Parra - Gracias a la Vida
>>>
>>> Tiago S. F. Hori. PhD.
>>> Ocean Science Center-Memorial University of Newfoundland
>>
>>
>>
>> --
>> ____________________________________________________
>> Ricardo R Bonfim
>
--
____________________________________________________
Ricardo R Bonfim