Jump to content

code to find string within a field


shmideo

Recommended Posts

After re-reading your post title I am thinking you may want something like this instead, to search for text within the field

SELECT 
    tablefield
    , COUNT(*) as total
FROM asterisk_cdr
WHERE tablefield LIKE '%given string%'
GROUP BY tablefield

This should show you how to use it in a PHP script

 

 

<?php
//
// CONNECT TO THE DATABASE SERVER (use your credentials)
//
$db = new mysqli(HOST,USERNAME,PASSWORD,DATABASE);

//
// GET THE VALUE TO SEARCH FROM FROM SUBMITTED FORM DATA
//
$search = isset($_GET['search']) ? $_GET['search'] : '';
//
// ADD THE WILDCARD CHARACTERS
//
$sqlSearch = '%'.$search.'%';

//
// PREPARE AND EXECUTE THE QUERY
//
$sql = "SELECT 
            tablefield
            , COUNT(*) as total
        FROM asterisk_cdr
        WHERE tablefield LIKE '%given string%'
        GROUP BY tablefield";
$stmt = $db->prepare($sql);
$stmt->bind_param('s', $sqlSearch);
$stmt->execute();
$res = $stmt->get_result();

//
// LOOP THROUGH THE RESULTS AND BUILD THE HTML OUTPUT
//
$output = "";
while ($row = $res->fetch_row()) {
    $output .=  "<tr><td>" . join('</td><td>', $row) . "</td></tr>\n";
}
?>
<!DOCTYPE HTML >
<html lang="en">
<head>
    <title>Sample</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
    <style type='text/css'>
    table {
        border-collapse: collapse;
    }
    th {
        background-color: #369;
        color: white;
    }
    td {
        background-color: #eee;
    }
    </style>
</head>
<body>
<form>
    Search for : <input type="text" name="search" value="<?=$search?>" size="10">
    <input type="submit" name="btnSubmit" value="Search">
</form>
<hr/>
<table border='1'>
    <tr><th>Table Field</th><th>Total</th></tr>
    <?=$output?>
</table>
</body>
</html>

 

 

Thanks Barand

 

Hope you can help again! I'm trying to add a date parameter so that it can filter on 'dst' and 'date'.

This is so that I can check how many calls received for a destination on a given date, but I cannot solve it.

 

Thanks

shmideo
 

<?php
//
// CONNECT TO THE DATABASE SERVER (use your credentials)
//
$db = new mysqli(localhost,****,****,****);

//
// GET THE VALUE TO SEARCH FROM FROM SUBMITTED FORM DATA
//
$search = isset($_GET['search']) ? $_GET['search'] : '';
//
// ADD THE WILDCARD CHARACTERS
//
$sqlSearch = '%'.$search.'%';

//
// PREPARE AND EXECUTE THE QUERY
//
$sql = "SELECT
            dst, calldate
            , COUNT(*) as total
        FROM asterisk_cdr
        WHERE tablefield LIKE '%given string%'
        GROUP BY dst";
        
$stmt = $db->prepare($sql);
$stmt->bind_param('s', $sqlSearch);
$stmt->execute();
$res = $stmt->get_result();

//
// LOOP THROUGH THE RESULTS AND BUILD THE HTML OUTPUT
//
$output = "";
while ($row = $res->fetch_row()) {
    $output .=  "<tr><td>" . join('</td><td>', $row) . "</td></tr>\n";
}
?>
<!DOCTYPE HTML >
<html lang="en">
<head>
    <title>Sample</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
    <style type='text/css'>
    table {
        border-collapse: collapse;
    }
    th {
        background-color: #369;
        color: white;
    }
    td {
        background-color: #eee;
    }
    </style>
</head>
<body>
<form>
    Channel Number:
    <input type="text" name="search" value="<?=$search?>" size="10">
    <input type="submit" name="btnSubmit" value="Search">
</form>

<form>
    Date Ie, 2014/05/19:
      <input type="text" name="search" value="<?=$search?>" size="10">
    <input type="submit" name="btnSubmit" value="Search">
</form>
<hr/>
<table border='1'>
    <tr><th>Table Field</th><th>Total</th></tr>
    <?=$output?>
</table>
<p> </p>
</body>
</html>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.