php increment variable with onclick - php

I want to use the function onclick to increment a variable [increment the variable paid]
paid is by default at 0 i want to increment at 1.
I try this code : onclick='paid++' but is not working...
My Code
foreach($query as $index=>$row) {
echo ($colorCount++%2) ? "<tr class='alt'>" : "<tr>";
echo "<td class='" . getPaidColor($row['paid']) . "' onclick='paid++ '></td>";
echo "<td class='" . getDelayColor($row['hour']) . "' onclick='postDeleteForm(" . $index . ")'></td>";
foreach($columns as $column) {
echo "<td>" . $row[$column] . "</td>";
}
}

Related

PHP glob() Loop stops after a certain number of loops

I have a script that reads multiple XML files, takes data from them and lists it as HTML.
Here's the short version of the script (Slightly adjusted because of language and XML contents.):
<?php
$files = glob("./PDFs/*xml");
foreach($files as $filename) {
$xml=simplexml_load_file($filename) or die("Error: Cannot create object");
foreach($xml->xml->rechnung_list->rechnung as $data) {
$belegnr = $data->belegnr;
$file = glob("*" . "$belegnr.pdf");
echo '<tr>';
echo "<td>" . $data->auftrag . "</td>";
echo "<td>" . $data->belegnr . "</td>";
echo "<td>" . $data->kundennummer . "</td>";
echo "<td>" . $data->name . "</td>";
echo "<td>" . date("d. m Y" , strtotime($data->datum)) . "</td>";
echo "<td>" . "<a href='" . $file[0] . "'>DOWNLOAD</a>" . "</td>";
echo '</tr>';
}
}
?>
This code works and does exactly what I want, however it stops after a certain number of iterations.
My PHP memory_limit is set to 512M and the whole thing loads in about 30s so I don't feel like there should be a timeout.

Using two array expressions in single forEach loop

If I use two array expressions with two values, I do not get an error but I also get absolutely no output:
NOT WORKING:
<?php foreach ($zones as $zone) {
$body = $zone->get_body();
$domain_name = $zone->get_domain_name();
$name = $zone->get_name();
foreach ($domains as $domain) {
$status = $domain->get_status();
if (strstr($body, $ip)) {
echo "<tr>";
echo "<td>" . $domain_name . "</td>";
echo "<td>" . $status . "</td>";
echo "<td>" . $body . "</td>";
echo "</tr>";
$count++;
}
}
}
So I need to be able to target the $status variable also which uses $domain instead of $zones
When I use the below code for only zones, everything works fine and I get data that outputs.
WORKING:
<?php foreach ($zones as $zone) {
$body = $zone->get_body();
$domain_name = $zone->get_domain_name();
$name = $zone->get_name();
if (strstr($body, $ip)) {
echo "<tr>";
echo "<td>" . $domain_name . "</td>";
echo "<td>" . $name . "</td>";
echo "<td>" . $body . "</td>";
echo "</tr>";
$count++;
}
}

How can i put an href link in my foreach statement?

For starters i am fairly new at this.
I am trying to figure out how to a href link my row 'inspection_files' and i have tried just about everything. Is there anybody who could help me?
<?php
$i = 0;
foreach ($result as $r) {
echo "<tr>";
echo "<td>" . $r['last_inspection'] . "</td><td>" . strtolower(trim(($r['inspected_by_company']))) . "</td><td>" . strtolower(trim($r['inspection_files'])) . "</td>";
echo "</tr>";
$i++;
}
?>
Hey you can directly use <a> tag inside the <td>, just like below
echo "<td>" . $r['last_inspection'] . "</td><td>" . strtolower(trim(($r['inspected_by_company']))) . "</td><td><a href='" . strtolower(trim($r['inspection_files'])) . "'>" . strtolower(trim($r['inspection_files'])) . "</a></td>";
I hope $r['inspection_files'] this is your URL if this is not your redirect URL then just replace with your actual URL.

Appending a character to a PHP output

I have a simple question.
echo "<tr>";
echo "<td>" . $row['Rep'] . "</td>";
echo "</tr>";
Assume that the above snippet outputs "1". How can I append a dot . in front of it in the above code? So that the output will be .1 instead of 1 only. I couldn't find a similar example on the web, so I decided to ask here. Thanks!
echo "<tr>";
echo "<td>" . "." . $row['Rep'] . "</td>";
echo "</tr>";
or in case it's not 1
echo "<tr>";
echo "<td>" . ($row['Rep'] == 1 ? "." . $row['Rep'] : $row['Rep']) . "</td>";
echo "</tr>";
Like
echo '<tr><td>.' . $row['Rep'] . '</td></tr>';

PHP Help: if ($row['cDeviceRegistrationId'] > 0) { $a = 1;} echo $a;

I'm trying to have a "1" printed if there is a value in cDeviceRegistrationId column in the database. Here is the code:
$result is an SQL query
while($row = mysql_fetch_assoc($result))
{
if ($row['cDeviceRegistrationId'] > 0) {
$a = 1;
}
echo "<tr class='forum'>";
echo "<td class='forum'>" . $row['intUserID'] . "</td>";
echo "<td class='forum'>" . $row['cUsername'] . "</td>";
echo "<td class='forum'>" . $row['cEmail'] . "</td>";
echo "<td class='forum'>$a</td>";
echo "<td class='forum'>" . $row['uCreateDate'] . "</td>";
echo "</tr>";
}
The value of $a is not overwritten if it does not meet the condition, meaning other iterations may get the value of 1 incorrectly. Here is a fix (replace your if statement):
$a = ($row['cDeviceRegistrationId'] > 0) ? 1 : '';
How about:
if( !is_null($row['cDeviceRegistrationId']) ){
$a = 1;
}

Categories