@@ -184,13 +184,13 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
184
184
185
185
// Actions
186
186
try {
187
- // SEARCH
188
- if (isset ($ _REQUEST ['search ' ])) {
187
+ // SEARCH BY ID
188
+ if (isset ($ _REQUEST ['search_by_id ' ])) {
189
189
$ customId = false ;
190
- $ document = findMongoDbDocument ($ _REQUEST ['search ' ], $ _REQUEST ['db ' ], $ _REQUEST ['collection ' ]);
190
+ $ document = findMongoDbDocument ($ _REQUEST ['search_by_id ' ], $ _REQUEST ['db ' ], $ _REQUEST ['collection ' ]);
191
191
192
- if (!$ document ) {
193
- $ document = findMongoDbDocument ($ _REQUEST ['search ' ], $ _REQUEST ['db ' ], $ _REQUEST ['collection ' ], true );
192
+ if (!$ document ) {
193
+ $ document = findMongoDbDocument ($ _REQUEST ['search_by_id ' ], $ _REQUEST ['db ' ], $ _REQUEST ['collection ' ], true );
194
194
$ customId = true ;
195
195
}
196
196
@@ -383,7 +383,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
383
383
border: 1px solid #ccc;
384
384
padding: 8px;
385
385
margin-bottom: 15px;
386
- width: 350px ;
386
+ width: 400px ;
387
387
float: right;
388
388
}
389
389
table {
@@ -516,24 +516,36 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
516
516
</table>
517
517
518
518
<?php // CREATE AND LIST DB COLLECTION DOCUMENTS ?>
519
- <?php elseif ( ! isset ($ _REQUEST ['id ' ])): ?>
519
+ <?php elseif ( ! isset ($ _REQUEST ['id ' ]) || isset ( $ _REQUEST [ ' search ' ]) ): ?>
520
520
521
521
<h2>
522
522
<a href="<?php echo $ _SERVER ['PHP_SELF ' ] ?> ">Databases</a> >>
523
523
<a href="<?php echo $ _SERVER ['PHP_SELF ' ] ?> ?db=<?php echo $ _REQUEST ['db ' ] ?> "><?php echo $ _REQUEST ['db ' ] ?> </a> >>
524
524
<?php echo $ _REQUEST ['collection ' ] ?>
525
525
</h2>
526
+
526
527
<?php
527
528
$ max = 20 ;
528
529
$ page = isset ($ _REQUEST ['page ' ]) ? $ _REQUEST ['page ' ] : 1 ;
529
530
$ limit = $ max ;
530
531
$ skip = ($ page - 1 ) * $ max ;
531
- $ cursor = $ mongo
532
+
533
+ if (isset ($ _REQUEST ['search ' ])) {
534
+ $ cursor = $ mongo
535
+ ->selectDB ($ _REQUEST ['db ' ])
536
+ ->selectCollection ($ _REQUEST ['collection ' ])
537
+ ->find (json_decode ($ _REQUEST ['search ' ], true ))
538
+ ->limit ($ limit )
539
+ ->skip ($ skip );
540
+ } else {
541
+ $ cursor = $ mongo
532
542
->selectDB ($ _REQUEST ['db ' ])
533
543
->selectCollection ($ _REQUEST ['collection ' ])
534
544
->find ()
535
545
->limit ($ limit )
536
546
->skip ($ skip );
547
+ }
548
+
537
549
$ total = $ cursor ->count ();
538
550
$ pages = ceil ($ total / $ max );
539
551
if ($ pages && $ page > $ pages ) {
@@ -551,7 +563,13 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
551
563
<div id="search">
552
564
<form action="<?php echo $ _SERVER ['PHP_SELF ' ] ?> ?db=<?php echo $ _REQUEST ['db ' ] ?> &collection=<?php echo $ _REQUEST ['collection ' ] ?> " method="POST">
553
565
<label for="search_input">Search by ID</label>
554
- <input type="text" id="search_input" name="search" size="20" />
566
+ <input type="text" id="search_input" name="search_by_id" size="30" />
567
+ <input type="submit" name="submit_search" value="Search" />
568
+ </form>
569
+
570
+ <form action="<?php echo $ _SERVER ['PHP_SELF ' ] ?> ?db=<?php echo $ _REQUEST ['db ' ] ?> &collection=<?php echo $ _REQUEST ['collection ' ] ?> " method="POST">
571
+ <label for="search_input">Search</label>
572
+ <input type="text" id="search_input" name="search" size="36"<?php echo isset ($ _REQUEST ['search ' ]) ? ' value=" ' . htmlspecialchars ($ _REQUEST ['search ' ]) . '" ' : '' ?> />
555
573
<input type="submit" name="submit_search" value="Search" />
556
574
</form>
557
575
</div>
@@ -632,3 +650,4 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
632
650
</div>
633
651
</body>
634
652
</html>
653
+
0 commit comments